利用Maven插件打包产生可运行bat文件
其实是一个很简单的技巧,就是利用Maven的appassembler-maven-plugin插件,就可以实现自动打包可运行的脚本,还可以跨平台。(Windows/linux)
首先在pom.xml文件的build节点下配置插件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<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下的。具体参数,可以参考我上面给出的配置,也可以自己研究一下插件的配置。
本文由作者按照 CC BY 4.0 进行授权