使用appassembler-maven-plugin插件生成启动脚本
2016-06-01 10:47
891 查看
appassembler-maven-plugin可以自动生成跨平台的启动脚本,省去了手工写脚本的麻烦,而且还可以生成jsw的后台运行程序。
插件网址:http://www.mojohaus.org/appassembler/appassembler-maven-plugin/
appassembler的配置比较简单,在pom.xml的配置文件加入插件配置。
生成启动脚本之前,需要有一个启动的类,示例如下
一:生成可执行的启动脚本
执行 mvn package appassembler:assemble
执行完成之后,在target/mall目录就有可执行脚本
二:生成后台服务程序
执行完成之后,在target\generated-resources\appassembler\jsw\mall目录里面就有后台运行的程序
[localhost bin]# ./mall
Usage: ./mall { console | start | stop | restart | status | dump }
插件网址: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; @SpringBootApplication public 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 }
相关文章推荐
- maven学习
- maven插件maven-war-plugin的使用
- jenkins------部署项目到jboss eap下
- maven使用经验集
- java application maven项目打自定义zip包实例(推荐)
- window下安装和配置maven环境
- Eclipse使用maven搭建spring mvc图文教程
- 使用maven+eclipse搭建struts2开发环境
- myeclipse中使用maven前常见错误及解决办法
- Java随手笔记8之包、环境变量和访问控制及maven profile实现多环境打包
- maven利用tomcat插件部署远程Linux服务器的步骤详解
- maven搭建java ee项目图文教程
- Java的项目构建工具Maven的配置和使用教程
- maven中下载jar包源码和javadoc的命令介绍
- 表单重复提交处理总结
- Maven私服配置记录 Nexus
- hudson集成maven构建、多环境打包发版
- maven-war-plugin参数说明
- Maven学习笔记
- 项目构建工具学习与实践总结