Maven配置

maven-assembly-plugin插件

http://maven.apache.org/plugins/maven-assembly-plugin/usage.html

pom.xml配置

预置的Descriptor: http://maven.apache.org/plugins/maven-assembly-plugin/descriptor-refs.html

<build>
        <finalName>${project.name}</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.2.0</version>
                <executions>
                    <execution><!-- 配置执行器 -->
                        <id>make-assembly</id>
                        <phase>package</phase><!-- 绑定到package生命周期阶段上 -->
                        <goals>
                            <goal>single</goal><!-- 只运行一次 -->
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <!--配置自定义描述符文件-->
                    <descriptors>
                        <descriptor>src/assembly/assembly.xml</descriptor><!--配置描述文件路径-->
                    </descriptors>
                    <appendAssemblyId>false</appendAssemblyId> <!--是否在最终的jar文件名中追加assembly.xml中的id-->

                    <!-- 也可以使用Maven预配置的描述符-->
<!--                    <descriptorRefs>-->
<!--                        <descriptorRef>jar-with-dependencies</descriptorRef>-->
<!--                    </descriptorRefs>-->
                    <!--设置主类-->
<!--                    <archive>-->
<!--                        <manifest>-->
<!--                            &lt;!&ndash;运行jar包时运行的主类,要求类全名&ndash;&gt;-->
<!--                            <mainClass>com.PackageMergeMain</mainClass>-->
<!--                            &lt;!&ndash; 是否指定项目classpath下的依赖 &ndash;&gt;-->
<!--                            <addClasspath>true</addClasspath>-->
<!--                            &lt;!&ndash; 指定依赖的时候声明前缀 &ndash;&gt;-->
<!--                            <classpathPrefix>./</classpathPrefix>-->
<!--                        </manifest>-->
<!--                    </archive>-->
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
            </plugin>
        </plugins>

    </build>

assembly文件内容 (全集 http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html )

<assembly>
    <id>kuiut-id</id>
    <formats>
        <format>jar</format><!--打包的文件格式,也可以有:war zip-->
    </formats>
    <!--tar.gz压缩包下是否生成和项目名相同的根目录,一般不需要包含-->
    <includeBaseDirectory>false</includeBaseDirectory>
    <dependencySets>
        <dependencySet>
            <!--是否把本项目添加到依赖文件夹下-->
            <!--如果需要包含工程自身生成的jar,则useProjectArtifact=false-->
            <useProjectArtifact>false</useProjectArtifact>
            <!--jar根目录下保存依赖的第三方jar包-->
            <outputDirectory>/</outputDirectory>
            <!--jar根目录下lib1目录中保存依赖的第三方jar包-->
<!--            <outputDirectory>./lib1</outputDirectory> -->
            <!--将scope为runtime的依赖包打包-->
            <!--<scope>runtime</scope>-->
        </dependencySet>
    </dependencySets>
    <fileSets>
        <fileSet>
            <directory>${project.build.directory}/test-classes</directory>
            <outputDirectory>./</outputDirectory>
            <includes>
                <include>**/*.class</include>
            </includes>
            <useDefaultExcludes>true</useDefaultExcludes>
        </fileSet>
        <fileSet>
            <directory>${project.build.directory}/classes</directory>
            <outputDirectory>./</outputDirectory>
            <includes>
                <include>**/*.class</include>
            </includes>
            <useDefaultExcludes>true</useDefaultExcludes>
        </fileSet>
        <fileSet>
            <directory>src/test/kuanrui-lib/oes</directory>
            <outputDirectory>./</outputDirectory>
            <includes>
                <include>**/*.jar</include>
            </includes>
            <useDefaultExcludes>true</useDefaultExcludes>
        </fileSet>
        <fileSet>
            <directory>src/test/resources</directory>
            <outputDirectory>config</outputDirectory>
            <includes>
                <include>**/*.json</include>
                <include>**/*.xml</include>
            </includes>
            <useDefaultExcludes>true</useDefaultExcludes>
        </fileSet>
    </fileSets>
</assembly>

其他解释:https://www.jianshu.com/p/529ebb3e785e

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值