您的位置:首页 > 其它

pom文件中maven-assembly-plugin插件学习

2018-05-08 15:12 537 查看

一、使用场景

如果项目是微服务架构,可能用到这个插件的概率比较高,平时普通的项目不需要这样的实现方式。

如果项目内的一部分通用功能,不需要挨个引用,则需要将通用功能部分达成jar包。

 

二、Maven-assembly-plugin作用

1、作用:要想将写的程序和它本身所依赖的jar包一起build到一个包里,是maven中针对打包任务而提供的标准插件。

 2、其他作用:

1)提供一个把工程依赖元素、模块、网站文档等其他文件存放到单个归档文件里。

2)打包成指定格式分发包,支持各种主流的格式如zip、tar.gz、jar和war等,具体打包哪些文件是高度可控的。

3)能够自定义包含/排除指定的目录或文件。

 

三、总体来说,插件maven-assembly-plugin的使用分为3个步骤:

首先贴下我项目路径的截图:

 

1:pom.xml文件里配置maven-assembly-plugin,指定描述文件

2:描述文件配置具体参数

3: 命令行下执行 mvn assembly:assembly -Dmaven.test.skip=true

 

对应步骤1  ------>    项目中pom.xml的配置如下,在build中加入:

 

<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<!-- 描述文件路径-->
<descriptor>src/main/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>

描述文件assembly.xml的内容:     

<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>distribution</id>
<formats>
<format>dir</format>
</formats>
<!--  <fileSets>
<fileSet>
<directory>${project.basedir}\src\main\resources</directory>
<outputDirectory>\</outputDirectory>
</fileSet>

</fileSets>-->
<dependencySets>
<dependencySet>
<useProjectArtifact>true</useProjectArtifact>
<outputDirectory>lib</outputDirectory>
<!-- 将scope为runtime的依赖包打包到lib目录下。 -->
<scope>runtime</scope>
<excludes>
<exclude>${org.apache.jmeter}:${ApacheJMeter_java}</exclude>
</excludes>
</dependencySet>
</dependencySets></assembly>

3. 在命令行下,到pom.xml所在目录下,执行 mvn assembly:assembly -Dmaven.test.skip=true

在项目的target下可以看到打包之后得到的jar和对应的目录.

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: