maven 将指定的包(pakcage)打成jar包之maven-jar-plugin

本文详细介绍如何使用Maven插件进行定制化的包构建,包括将特定目录下的类打包成独立的jar文件,自动复制依赖库,以及通过Ant任务实现自动化构建与部署,最后将构建成果压缩并生成校验文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用maven-jar-plugin将指定包目录打成单独的jar包
上代码

<plugins>
    <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
            <!-- monitor 包-jar -->
            <execution>
                <id>monitor</id>
                <goals>
                    <goal>jar</goal>
                </goals>
                <phase>package</phase>
                <configuration>
                    <classifier>monitor</classifier>
                    <includes>
                        <include>**/xx/xx/xx/xx/**</include> 
                        ​​​​​​​<include>**/xx/xx/xx/xx/**</include>
                    </includes>
                </configuration>
            </execution>
        </executions>
    </plugin>
    <!-- 拷贝依赖包 -->
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.5.1</version>
        <executions>
            <execution>
                <id>copy</id>
                <phase>install</phase>
                <goals>
                    <goal>copy-dependencies</goal>
                </goals>
                <configuration>
                    <outputDirectory>${project.build.directory}/lib</outputDirectory>
                </configuration>
            </execution>
        </executions>
    </plugin>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.8</version>
        <executions>
            <execution>
                <phase>install</phase>
                <goals>
                    <goal>run</goal>
                </goals>
                <configuration>
                    <tasks>
                        <echo>Building 描述信息 START....</echo>
                        <!-- 删除目录 -->
                        <delete dir="target/dir"/>
                        <!-- 删除目录 -->
                        <mkdir dir="target/dir"/>

                        <!-- 复制目录文件 复制到-todir 要复制的目录-fileset -->
                        <copy todir="target/dir/xxx">
                            <fileset dir="target/classes/config"/>
                        </copy>
                        <!-- 删除文件 -->
                        <delete>
                            <fileset dir="target/xxx/lib/xxx" includes="xxx*.jar"/>
                            <fileset dir="target/xxx/lib/xxx" includes="xxx-*.jar"/>
                        </delete>

                        <!-- 将指定目录压缩ZIP -->
                        <copy todir="target/tempbuild/xxx">
                            <fileset dir="target/xxx"/>
                        </copy>

                        <tstamp>
                            <format property="current.date.time" pattern="yyyyMMddHHmmss"/>
                        </tstamp>

                        <zip destfile="target/xxx_${version}_${current.date.time}.zip">
                            <zipfileset dir="target/tempbuild"/>
                        </zip>

                        <checksum file="target/xxx_${version}_${current.date.time}.zip"
                                  forceOverwrite="yes" algorithm="MD5" fileext=".MD5"></checksum>

                        <delete dir="target/tempbuild"/>
                        <echo>Building 描述信息 END</echo>
                    </tasks>
                </configuration>
            </execution>
        </executions>
    </plugin>
</plugins>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanghye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值