利用Maven的appassembler-maven-plugin插件,就可以实现自动打包可运行的脚本。
首先在pom.xml文件的build节点下配置插件:
<plugin>
<groupId>org.codehaus.mojo</groupId> <artifactId>appassembler-maven-plugin</artifactId> <version>1.1.1</version> <configuration> <repositoryLayout>flat</repositoryLayout> <repositoryName>lib</repositoryName> <configurationSourceDirectory>src/main/resources/conf</configurationSourceDirectory> <!-- Set the target configuration directory to be used in the bin scripts --> <configurationDirectory>conf</configurationDirectory> <!-- Copy the contents from "/src/main/config" to the target configuration directory in the assembled application --> <copyConfigurationDirectory>true</copyConfigurationDirectory> <!-- Include the target configuration directory in the beginning of the classpath declaration in the bin scripts --> <includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath> <!-- prefix all bin files with "mycompany" --> <binPrefix>startup</binPrefix> <!-- set alternative assemble directory --> <assembleDirectory>${project.build.directory}/server</assembleDirectory> <!-- Extra JVM arguments that will be included in the bin scripts --> <extraJvmArguments>-Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:NewSize=192m -XX:MaxNewSize=384m </extraJvmArguments> <!-- Generate bin scripts for windows and unix pr default --> <platforms> <platform>windows</platform> <platform>unix</platform> </platforms> <programs> <program> <!-- Set to start the main method of class --> <mainClass>com.coderli.onecoder.server.HypervisorServer</mainClass> <name>startup</name> </program> </programs> </configuration></plugin>package appassembler:assemble
然后执行run,一个可执行的脚本文件就生成好了。startup.bat是windows下。