使用appassembler-maven-plugin插件生成启动脚本
来源:互联网 发布:linux 查看磁盘数量 编辑:程序博客网 时间:2024/06/09 18:09
appassembler-maven-plugin可以自动生成跨平台的启动脚本,省去了手工写脚本的麻烦,而且还可以生成jsw的后台运行程序。
插件网址:http://www.mojohaus.org/appassembler/appassembler-maven-plugin/
appassembler的配置比较简单,在pom.xml的配置文件加入插件配置。
生成启动脚本之前,需要有一个启动的类,示例如下
package com.mall;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class Main{public static void main(String[] args){SpringApplication.run(Main.class, args);}}
一:生成可执行的启动脚本
<plugin><groupId>org.codehaus.mojo</groupId><artifactId>appassembler-maven-plugin</artifactId><version>1.10</version><configuration><!-- 生成linux, windows两种平台的执行脚本 --><platforms><platform>windows</platform><platform>unix</platform></platforms><!-- 根目录 --><assembleDirectory>${project.build.directory}/mall</assembleDirectory><!-- 打包的jar,以及maven依赖的jar放到这个目录里面 --><repositoryName>lib</repositoryName><!-- 可执行脚本的目录 --><binFolder>bin</binFolder><!-- 配置文件的目标目录 --><configurationDirectory>conf</configurationDirectory><!-- 拷贝配置文件到上面的目录中 --><copyConfigurationDirectory>true</copyConfigurationDirectory><!-- 从哪里拷贝配置文件 (默认src/main/config) --><configurationSourceDirectory>src/main/resources</configurationSourceDirectory><!-- lib目录中jar的存放规则,默认是${groupId}/${artifactId}的目录格式,flat表示直接把jar放到lib目录 --><repositoryLayout>flat</repositoryLayout><encoding>UTF-8</encoding><logsDirectory>logs</logsDirectory><tempDirectory>tmp</tempDirectory><programs><program><id>mall</id><!-- 启动类 --><mainClass>com.mall.Main</mainClass><jvmSettings><extraArguments><extraArgument>-server</extraArgument><extraArgument>-Xmx2G</extraArgument><extraArgument>-Xms2G</extraArgument></extraArguments></jvmSettings></program></programs></configuration></plugin>
执行 mvn package appassembler:assemble
执行完成之后,在target/mall目录就有可执行脚本
二:生成后台服务程序
<plugin><groupId>org.codehaus.mojo</groupId><artifactId>appassembler-maven-plugin</artifactId><version>1.10</version><configuration><!-- 根目录 --><assembleDirectory>${project.build.directory}/mall</assembleDirectory><!-- 打包的jar,以及maven依赖的jar放到这个目录里面 --><repositoryName>lib</repositoryName><!-- 可执行脚本的目录 --><binFolder>bin</binFolder><!-- 配置文件的目标目录 --><configurationDirectory>conf</configurationDirectory><!-- 拷贝配置文件到上面的目录中 --><copyConfigurationDirectory>true</copyConfigurationDirectory><!-- 从哪里拷贝配置文件 (默认src/main/config) --><configurationSourceDirectory>src/main/resources</configurationSourceDirectory><!-- lib目录中jar的存放规则,默认是${groupId}/${artifactId}的目录格式,flat表示直接把jar放到lib目录 --><repositoryLayout>flat</repositoryLayout><encoding>UTF-8</encoding><logsDirectory>logs</logsDirectory><tempDirectory>tmp</tempDirectory><daemons><daemon><id>mall</id><mainClass>com.mall.Main</mainClass><platforms><platform>jsw</platform></platforms><generatorConfigurations><generatorConfiguration><generator>jsw</generator><includes><include>linux-x86-32</include><include>linux-x86-64</include><include>windows-x86-32</include><include>windows-x86-64</include></includes><configuration><property><name>configuration.directory.in.classpath.first</name><value>conf</value></property><property><name>wrapper.ping.timeout</name><value>120</value></property><property><name>set.default.REPO_DIR</name><value>lib</value></property><property><name>wrapper.logfile</name><value>logs/wrapper.log</value></property></configuration></generatorConfiguration></generatorConfigurations><jvmSettings><!-- jvm参数 --><systemProperties><systemProperty>com.sun.management.jmxremote</systemProperty><systemProperty>com.sun.management.jmxremote.port=1984</systemProperty><systemProperty>com.sun.management.jmxremote.authenticate=false</systemProperty><systemProperty>com.sun.management.jmxremote.ssl=false</systemProperty></systemProperties></jvmSettings></daemon></daemons></configuration></plugin>执行mvn clean package appassembler:generate-daemons
执行完成之后,在target\generated-resources\appassembler\jsw\mall目录里面就有后台运行的程序
[localhost bin]# ./mall
Usage: ./mall { console | start | stop | restart | status | dump }
0 0
- 使用appassembler-maven-plugin插件生成启动脚本
- maven appassembler-maven-plugin
- appassembler-maven-plugin
- appassembler-maven-plugin
- appassembler-maven-plugin useAllDependencies
- maven打包插件:appassembler
- 使用Maven 插件 cxf-codegen-plugin生成WebService测试程序
- maven生成启动脚本
- Tomcat-maven-plugin插件使用
- maven-anturn-plugin插件使用
- 基于maven-bundle-plugin生成osgi插件
- maven插件maven-dependency-plugin的使用
- maven插件maven-dependency-plugin的使用
- Maven使用tomcat8-maven-plugin插件
- Maven使用tomcat8-maven-plugin插件
- Maven使用tomcat8-maven-plugin插件
- 使用Maven的jaxws-maven-plugin插件,将wsdl生成java
- Maven之生成测试覆盖度的插件cobertura-maven-plugin的使用
- PADS2007库转换为PADS 9.0以上库文件
- 浅谈 MVP in Android
- 算法 Tricks(二) —— 大数的处理
- 最后一个支持Windows 的Python3
- 低边驱动与高边驱动
- 使用appassembler-maven-plugin插件生成启动脚本
- ios开发网络篇—HTTP协议
- Beam Search 基础知识-广度优先及深度优先搜索
- 基于ffmpeg的内存数据UDP直播推流
- 二级列表和文章里的关键字变红还有数据库的模糊查询
- synchronized
- 如何通过putty 实现利用跳转机web访问内网
- 百度地图定位 当前位置和地图显示
- 理解ThreadLocal