利用Maven外掛打包產生可執行bat檔案
阿新 • • 發佈:2018-12-23
其實是一個很簡單的技巧,就是利用Maven的appassembler-maven-plugin外掛,就可以實現自動打包可執行的指令碼,還可以跨平臺。(Windows/linux)
首先在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>
<mainClass>com.coderli.onecoder.server.HypervisorServer</mainClass>
<name>startup</name>
</program>
</programs>
</configuration>
</plugin>
然後選擇你要編譯的工程,右鍵->maven build… 命令如下圖:
然後Run一下:
一個可執行的指令碼檔案就生成好了。startup.bat是windows下的,startup.sh是linux下的。具體引數,可以參考我上面給出的配置,也可以自己研究一下外掛的配置。