1. 程式人生 > >利用Maven外掛打包產生可執行bat檔案

利用Maven外掛打包產生可執行bat檔案

其實是一個很簡單的技巧,就是利用Mavenappassembler-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 &quot;/src/main/config&quot; 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 &quot;mycompany&quot; --> <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.batwindows下的,startup.shlinux下的。具體引數,可以參考我上面給出的配置,也可以自己研究一下外掛的配置。