欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

maven打包deamon运行程序

程序员文章站 2022-05-23 22:17:38
...

java中的Main函数的直接运行,通常需要写shell脚本,脚本写法都是类似的,maven提供了一个插件可以自动生成shell脚本,插件名称为appassembler-maven-plugin。这里讲讲jsw方式的配置方法,官网例子。这里结合实际使用情况说一下各个配置项的含义。

配置脚本如下:

 

<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.10</version>
<executions>
<execution>
<!--执行脚本的id-->
<id>generate-jsw-scripts</id>
<!--在maven的package阶段执行-->
 <phase>package</phase>
<goals>
<goal>generate-daemons</goal>
</goals>
</execution>
</executions>
<configuration>
<!--打包后生成的目录位置-->
<target>${project.build.directory}/assembler</target>
<!--是否将配置文件包含到classpath-->
<includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
<!--为系统配置文件指定一个目录-->
<configurationDirectory>conf</configurationDirectory>
<!--源代码中对应的系统配置文件的位置-->
<configurationSourceDirectory>src/main/resources</configurationSourceDirectory>
<!--是否拷贝源代码中配置文件中的目录-->
<copyConfigurationDirectory>true</copyConfigurationDirectory>
<!--依赖的lib包的目录格式,flat表示不分目录平铺到lib目录下-->
<repositoryLayout>flat</repositoryLayout>
<!--依赖的lib包的目录名称-->
<repositoryName>lib</repositoryName>
<daemons>
<daemon>
<id>app1</id>
 <!--系统的入口main函数类-->		<mainClass>com.xxx.xxx.xxx.xxx.Main</mainClass>
<jvmSettings>
<initialMemorySize>256M</initialMemorySize>
<maxMemorySize>512M</maxMemorySize>
</jvmSettings>
<generatorConfigurations>
<generatorConfiguration>
<generator>jsw</generator>
<includes>
<include>linux-x86-64</include>
<includ>windows-x86-64</includ>
</includes>
<configuration>
<property>
<!--手动添加一个系统启动时依赖的第一个classpath,这里通常写为配置文件的目录名,如果不配置,配置文件无法找到-->
<name>configuration.directory.in.classpath.first</name>
<value>conf</value>
</property>
<property>
<name>wrapper.logfile</name>
<value>log/spy-snatch.log</value>
</property>
</configuration>
</generatorConfiguration>
</generatorConfigurations>
<platforms>
<platform>jsw</platform>
</platforms>
</daemon>
</daemons>
</configuration>
</plugin>
</plugins>
</build>

 

 

最后打包后的目录结构:

bin

conf

lib

logs

 

启动方法:

/bin/app1 start

相关标签: conf