`
xtuhcy
  • 浏览: 138924 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

maven打包deamon运行程序

阅读更多

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

0
1
分享到:
评论
2 楼 xtuhcy 2015-07-28  

gnomewarlock 写道
这例子能跑?
少了个最主要的wrapperMainClass


<mainClass>com.xxx.xxx.xxx.xxx.Main</mainClass>这个是main方法所在地
1 楼 gnomewarlock 2015-07-20  
这例子能跑?
少了个最主要的wrapperMainClass

相关推荐

Global site tag (gtag.js) - Google Analytics