appassembler-maven-plugin可以自动生成跨平台的启动脚本,省去了手工写脚本的麻烦,而且还可以生成jsw的后台运行程序。
appassembler的配置比较简单,在pom.xml的配置文件加入插件配置。
比如说不同的启动脚本,可以如下配置
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<configurationDirectory>conf</configurationDirectory>
<configurationSourceDirectory>src/main/resources</configurationSourceDirectory>
<copyConfigurationDirectory>true</copyConfigurationDirectory>
<includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
<assembleDirectory>${project.build.directory}/chj-search-client</assembleDirectory>
<extraJvmArguments>-Xms128m</extraJvmArguments>
<binFileExtensions>
<unix>.sh</unix>
</binFileExtensions>
<platforms>
<platform>windows</platform>
<platform>unix</platform>
</platforms>
<repositoryName>lib</repositoryName>
<programs>
<program>
<mainClass>com.chj360.search.client.App</mainClass>
</program>
</programs>
</configuration>
</plugin>
然后运行maven命令 :mvn package appassembler:assemble
就可以自动生成整个的依赖文件,配置文件和运行脚本了。
一些配置说明
configurationDirectory:生成配置文件路径
configurationSourceDirectory:配置文件原路径,默认为src/main/config
assembleDirectory:整体包目录
extraJvmArguments:jvm参数
binFileExtensions:生成脚本的后缀
platforms:生成哪几种平台
repositoryName:依赖包目录,默认repo
programs:这个必须参数,启动的主class
生成jsw也是一个简单的配置
eg:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<repositoryLayout>flat</repositoryLayout>
<repositoryName>lib</repositoryName>
<includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
<copyConfigurationDirectory>src/main/resources</copyConfigurationDirectory>
<target>${project.build.directory}</target>
<daemons>
<daemon>
<id>chj-search-client</id>
<mainClass>com.chj360.search.client.App</mainClass>
<commandLineArguments>
<commandLineArgument>start</commandLineArgument>
</commandLineArguments>
<platforms>
<platform>jsw</platform>
</platforms>
<generatorConfigurations>
<generatorConfiguration>
<generator>jsw</generator>
<includes>
<include>linux-x86-32</include>
<include>linux-x86-64</include>
<include>windows-x86-32</include>
<include>windows-x86-64</include>
</includes>
<configuration>
<property>
<name>configuration.directory.in.classpath.first</name>
<value>etc</value>
</property>
<property>
<name>set.default.REPO_DIR</name>
<value>lib</value>
</property>
<property>
<name>wrapper.logfile</name>
<value>../logs/wrapper.log</value>
</property>
<property>
<name>run.as.user.envvar</name>
<value>johndoe</value>
</property>
</configuration>
</generatorConfiguration>
</generatorConfigurations>
<jvmSettings>
<initialMemorySize>256M</initialMemorySize>
<maxMemorySize>512M</maxMemorySize>
<systemProperties>
<systemProperty>java.security.policy=conf/policy.all</systemProperty>
<systemProperty>com.sun.management.jmxremote</systemProperty>
<systemProperty>com.sun.management.jmxremote.port=8999</systemProperty>
<systemProperty>com.sun.management.jmxremote.authenticate=false</systemProperty>
<systemProperty>com.sun.management.jmxremote.ssl=false</systemProperty>
</systemProperties>
<extraArguments>
<extraArgument>-server</extraArgument>
</extraArguments>
</jvmSettings>
</daemon>
</daemons>
</configuration>
<executions>
<execution>
<id>generate-jsw-scripts</id>
<phase>package</phase>
<goals>
<goal>generate-daemons</goal>
</goals>
</execution>
</executions>
</plugin>
分享到:
相关推荐
githook-maven-plugin Maven插件来配置和安装本地git钩子 保护您的VCS 在提交更改之前先检查一下更改始终是一个好主意:运行单元测试,执行构建等。但是,这样的检查列表很容易被忽略,尤其是在大型项目中。 为了...
flyway maven plugin 是基于flyway的的数据库脚本升级插件 使用方式 1. 在resources下创建application.propeties,存放数据库相关配置 #default表示数据源的名字 db.default.url=jdbc:mysql://127.0.0.1/resty-demo?...
Maven插件,用于使用模式生成器从JPA实体生成模式或DDL脚本。 有关Gradle的信息,请参见。 当前支持 (参考实现)和 。 宣布之前... 阅读我的嘴唇; JPA DDL生成器不是银弹 有时(大多数情况下,通常是:P)JPA会...
file-merger-maven-plugin 是一个(非常)简单的 maven 插件,用于(有序)合并文件。 您定义一组要合并的文件和(可选)一个文件目的地,瞧。 默认情况下,插件绑定到 generate-resources 阶段。 用法: 1. 合并 ...
缩小Maven插件Minify Maven插件结合并最小化了CSS和JavaScript文件,从而加快了页面加载速度。 它会生成CSS和JavaScript资源的合并版本和缩小版本,可以在您的项目中重复使用。 在后台,它使用和但围绕这些工具有一...
主要介绍了SpringBoot整合flyway实现步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
jgitver-maven-plugin 这个插件允许使用git历史记录中的信息来定义项目的pom版本。 它计算版本,有点像git describe那样,但是对于maven项目来说是一种更有效的方式: 新提交的版本比先前提交的版本高(以maven / ...
jfinal demo 程序,使用bootstrap 本人编写的多款插件,如使用coffeescript-maven-plugin编译coffeescript代码,使用lesscsss-maven-plugin编译lesscss代码,使用flyway-maven-plugin运行数据库脚本,支持多种定制...
Gradle Maven出版物 Gradle脚本/插件,可使用gradle maven或maven-publish插件帮助发布jar / aar工件。 该存储库包含两个组件:脚本和插件: 这些脚本的工作方式与但同时支持maven和maven-publish以及pom.xml更多...
就是前面运行脚本生成的哪个目录。比如我的 是C:\Documents and Settings\er\.m2\repository 点ok,配置完成。 接下来就是测试一下maven能不能在eclipse里运行。新建一个项目 名为test. File->new ->project,选择...
也就是说,使用简单的 Groovy 脚本根据需要实例化反射,而无需使用(和编写)Maven 插件的麻烦...... 例如: < plugin> < groupId>org.codehaus.gmavenplus</ groupId> < artifactId>gmavenplus-plugin...
baseversion-maven-插件 从 Maven 项目中提取基本版本号。 如果您的项目在持续交付管道中进行管理并且版本号应包含内部版本号,这将非常有用。 在这种情况下,您必须将项目的基本版本号与内部版本号数字连接起来。 ...
例如,在数据库中,DBA有时会运行自定义脚本来解决高优先级问题,或者数据库中的发布脚本是由另一个框架生成的。 警告: 当前版本采用envers的默认设置,如以下所述: ://docs.jboss.org/envers/docs/#...
提供Maven执行任务的Gradle插件 正在安装 此插件的发行版托管在。 使用以下两种方法之一将插件应用于您的项目。 在所有Gradle版本中使用的构建脚本代码段: buildscript { repositories { maven { url " ...
fast-jfinaljfinal项目以embed-tomcat或undertow的方式运行,无须打war包,无续部署tomcat用appassembler-maven-plugin打包,然后运行bin目录中的脚本即可。具体参见demo项目:1.pom.xml引入<dependency> <groupId>org....
脚本 Maven 插件 在 Maven 构建中执行脚本。 该插件基于“JSR 223:Java 平台脚本”。 目录 目标:执行 script:execute : 执行脚本 配置选项 选项 默认值 解释 引擎 javascript 脚本引擎名称。 例如犀牛、nashorn...
该脚本有助于修复不可复制性,而该不可复制性是可复制生成aven插件无法解决的。 要求 Java 8或更高版本 Maven 3.0.0或更高版本 如何编译 要编译项目并运行其集成测试: mvn clean install -Prun-its
用户脚本-maven-插件这个 maven 插件允许你“编译”一个用户脚本。 它生成 Userscript 元数据块,还允许您包含其他文件以将它们合并为一个。用法默认情况下,用户脚本源文件应位于src/main/userscript并输出到target...
从Maven迁移到Bazel基本上意味着从一组pom.xml配置文件中生成Skylark WORKSPACE和BUILD脚本。 从Maven迁移到Bazel的主要原因是Maven构建缓慢。 在当前重视DevOps和CI的情况下,这种缓慢性可以被认为是非常不...
gradle-android-javadoc-plugin Gradle插件,可从Android Gradle项目生成Java文档。 与最新的Gradle Android Tools版本3.0.1一起使用。 设置app / build.gradle或library / build.gra gradle-android-javadoc-plugin...