1.打包成bat
打包命令:mvn clean package appassembler:assemble
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>appassembler-maven-plugin</artifactId> <version>1.2.1</version> <configuration> <!-- 生成linux, windows兩種平台的執行腳本 --> <platforms> <platform>windows</platform> <platform>unix</platform> </platforms> <!-- 根目錄 --> <assembleDirectory>${project.build.directory}/mall</assembleDirectory> <!-- 打包的jar,以及maven依賴的jar放到這個目錄里面 --> <repositoryName>lib</repositoryName> <!-- 可執行腳本的目錄 --> <binFolder>bin</binFolder> <!-- 配置文件的目標目錄 --> <configurationDirectory>conf</configurationDirectory> <!-- 拷貝配置文件到上面的目錄中 --> <copyConfigurationDirectory>true</copyConfigurationDirectory> <!-- 從哪里拷貝配置文件 (默認src/main/config) --> <configurationSourceDirectory>src/main/resources</configurationSourceDirectory> <!-- lib目錄中jar的存放規則,默認是${groupId}/${artifactId}的目錄格式,flat表示直接把jar放到lib目錄 --> <repositoryLayout>flat</repositoryLayout> <encoding>UTF-8</encoding> <logsDirectory>logs</logsDirectory> <tempDirectory>tmp</tempDirectory> <programs> <program> <!-- 啟動類 --> <mainClass>net.test.App</mainClass> <jvmSettings> <extraArguments> <extraArgument>-server</extraArgument> <extraArgument>-Xmx2G</extraArgument> <extraArgument>-Xms2G</extraArgument> </extraArguments> </jvmSettings> </program> </programs> </configuration> </plugin>
2.打包成系統服務
打包命令:mvn clean package appassembler:generate-daemons
Usage: { console | start | stop | restart | status | dump }
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>appassembler-maven-plugin</artifactId> <version>1.2.1</version> <configuration> <!-- 根目錄 --> <assembleDirectory>${project.build.directory}/mall</assembleDirectory> <!-- 打包的jar,以及maven依賴的jar放到這個目錄里面 --> <repositoryName>lib</repositoryName> <!-- 可執行腳本的目錄 --> <binFolder>bin</binFolder> <!-- 配置文件的目標目錄 --> <configurationDirectory>conf</configurationDirectory> <!-- 拷貝配置文件到上面的目錄中 --> <copyConfigurationDirectory>true</copyConfigurationDirectory> <!-- 從哪里拷貝配置文件 (默認src/main/config) --> <configurationSourceDirectory>src/main/resources</configurationSourceDirectory> <!-- lib目錄中jar的存放規則,默認是${groupId}/${artifactId}的目錄格式,flat表示直接把jar放到lib目錄 --> <repositoryLayout>flat</repositoryLayout> <encoding>UTF-8</encoding> <logsDirectory>logs</logsDirectory> <tempDirectory>tmp</tempDirectory> <daemons> <daemon> <mainClass>net.test.App</mainClass> <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>conf</value> </property> <property> <name>wrapper.ping.timeout</name> <value>120</value> </property> <property> <name>set.default.REPO_DIR</name> <value>lib</value> </property> <property> <name>wrapper.logfile</name> <value>logs/wrapper.log</value> </property> </configuration> </generatorConfiguration> </generatorConfigurations> <jvmSettings> <!-- jvm參數 --> <systemProperties> <systemProperty>com.sun.management.jmxremote</systemProperty> <systemProperty>com.sun.management.jmxremote.port=1984</systemProperty> <systemProperty>com.sun.management.jmxremote.authenticate=false</systemProperty> <systemProperty>com.sun.management.jmxremote.ssl=false</systemProperty> </systemProperties> </jvmSettings> </daemon> </daemons> </configuration> </plugin>
注意:1.2.1沒有id這個屬性。