maven打包插件:appassembler

1.打包成bat

<plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>appassembler-maven-plugin</artifactId>
                <version>1.2.1</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>
                            <!-- 启动类 -->
                            <mainClass>net.test.App</mainClass>
                            <jvmSettings>
                                <extraArguments>
                                    <extraArgument>-server</extraArgument>
                                    <extraArgument>-Xmx2G</extraArgument>
                                    <extraArgument>-Xms2G</extraArgument>
                                </extraArguments>
                            </jvmSettings>
                        </program>
                    </programs>
                </configuration>
            </plugin>

2.打包成系统服务

<plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>appassembler-maven-plugin</artifactId>
                <version>1.2.1</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>
                            <mainClass>net.test.App</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>

注意:1.2.1没有id这个属性。

时间: 2024-08-11 07:46:03

maven打包插件:appassembler的相关文章

Maven 相关打包插件

Packaging的含义 任何一个Maven项目都需要定义POM元素packaging(如果不写则默认值为jar).顾名思义,该元素决定了项目的打包方式.实际的情形中,如果你不声明该元素,Maven会帮你生成一个JAR包:如果你定义该元素的值为war,那你会得到一个WAR包:如果定义其值为POM(比如是一个父模块),那什么包都不会生成.除此之外,Maven默认还支持一些其他的流行打包格式,例如ejb3和ear.你不需要了解具体的打包细节,你所需要做的就是告诉Maven,"我是个什么类型的项目&q

关于maven 把插件依赖一起打包进jar问题

今天在做storm on maven的时候发现要依赖到storm-hdfs的jar.自己又非常不想把乱七八糟的东西丢上自己的集群lib.于是就想maven 打包的时候把插件一块打包进jar.maven默认自己不会打包进jar,我只要把自己需要的打包进去就好了. 走了不少弯路,现在记录一把,防止以后自己用到: 我的pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www

Maven实战---插件动态打包

maven把项目的构建划分为不同的生命周期(lifecycle),这个过程包括:编译.测试.打包.集成测试.验证.部署.maven中所有的执行动作(goal)都需要指明自己在这个过程中的执行位置,然后maven执行的时候,就依照过程的发展依次调用这些goal进行各种处理. 下面说一下在打包的时候遇到的问题: Maven在用插件动态打war包的时候出现这样的错误: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-p

maven配置tomcat插件,及在maven打包时文件名不包含版本号

maven配置tomcat插件,及在maven打包时文件名不包含版本号 <build> <!-- 指定文件名,在打包时文件名不包含版本号 --> <finalName>${project.artifactId}</finalName> <plugins> <!-- 资源文件拷贝插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> &l

Maven 打包项目 部署到服务器 重启服务 插件

1.maven插件wagon-maven-plugin自动部署远程Linux服务器  (http://xxgblog.com/2015/10/23/wagon-maven-plugin/) <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>wagon-maven-plugin</artifactId> <version>1.0</version> <c

Maven学习之打包插件

maven的打包插件主要有maven-shade-plugin 和maven-assembly-plugin两种,两种插件的主要差别如下 (1) maven-assembly-plugin <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <appendAssemblyId>false</appendAssemblyId> <descr

maven打包之新手拙见

maven打包一直都困扰着我这种新手,现在我也有点明白这是一个什么东西了.把maven打包问题总结一下. 首先配置好各种东西,能运行打包之后再细细研究一下这个打包的配置文件. pom.xml文件: 添加各种jar包引用不多讲了 下来是配置主类这个东西:pom.xml中添加<bulid> 内容如下: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-

利用Maven打包时,如何包含更多的资源文件

首先,来看下MAVENx项目标准的目录结构: 一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,maven能把这些资源文件打包到相应的jar或者war里. 有时候,比如mybatis的mapper.xml文件,我们习惯把它和Mapper.java放一起,都在src/main/java下面,这样利用maven打包时,就需要修改pom.xml文件,来把mapper.xml文件一起打包进jar或者war

Maven常用插件配置和使用

主要介绍Maven的几个常见第三方插件(cobertura.findbugs.source.assembly.插件开发)配置和使用,接Maven介绍 maven本质上是一个插件框架,它的所有工作都交给插件来做,每个插件可以有多个goal.除了自带的插件之外还有很多比较成熟的第三方插件,我们也很容易上手进行简单的插件开发,下面一一介绍 1 自带插件maven自带的核心插件为Build plugins和Reporting plugins.mvn compile编译源码实际上就利用到了maven-co