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
上一篇: Yii 动作方法技巧
下一篇: 【重构】数据库设计
推荐阅读
-
python + pyinstaller 实现将python程序打包成exe文件直接运行
-
Delegate IDE build/run actions to maven 配置会影响程序运行吗?
-
Java全栈程序员之06:IDEA中MAVEN项目依赖及运行
-
将python项目打包为可运行的windows桌面exe程序
-
使用maven-shade 打包apache cxf 为可运行包 出现异常Caused by: org.apache.cxf.BusException:
-
使用maven-shade 打包apache cxf 为可运行包 出现异常Caused by: org.apache.cxf.BusException:
-
Spring-boot构建多模块依赖工程时,maven打包异常:程序包xxx不存在
-
Maven 编译打包报错:程序包org.junit不存在 Error:(3, 29) java: 程序包org.junit.jupiter.api不存在 IDEA
-
maven多项目打包报错---子模块相互依赖打包时所遇到的问题:依赖的程序包找不到 package xxx does not exist
-
使用winrar打包air程序为exe(包含air运行环境)