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


    一、使用场景

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

    如果项目内的一部分通用功能,不需要挨个引用,则需要将通用功能部分达成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}srcmain
    esources</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和对应的目录.

  • 相关阅读:
    网页中插入Flash动画(.swf)代码和常用参数设置
    关于UML中逻辑模型的工具的详细介绍
    简单CSS hack:区分IE6、IE7、IE8、Firefox、Opera
    mysql sock找不到
    简述nginx日志管理切割日志(亲测可行)
    Linux下使用rm删除文件,并排除指定文件(亲测可行)
    常驻内存以及如何避免内存泄漏
    TASK异步进程处理场景
    TCP长连接数据传输(同步方式)
    在智联上投了一个月的简历,很多都有意向,但是却没有通知我去
  • 原文地址:https://www.cnblogs.com/onmyway20xx/p/9008340.html
Copyright © 2020-2023  润新知