利用Maven的appassembler-maven-plugin插件,就可以實現自動打包可運行的腳本,還可以跨平台。
<
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… 命令如下圖:
package appassembler:assemble
然后執行run,一個可執行的腳本文件就生成好了。startup.bat是windows下的,startup.sh是linux下的
