如何将SpringBoot项目构建成zip包

Ant插件自定义构建方式

1. pom依赖

springboot项目中,我们可以通过maven-antrun-plugin插件指定一个自定义的文件,在构建项目时就会根据此文件构建。

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.8</version>
                <executions>
                    <execution>
                        <id>package</id>
                        <phase>package</phase>
                        <configuration>
                            <target>
                                <!--定义一些属性,在auto_zip.xml中,可以通过${属性名}引用-->
                                <property name="microservice" value="${service.name}"/>
                                <property name="packagename" value="${service.name}"/>
                                <property name="parentpath" value="${project.artifactId}"/>
                                <property name="version" value="${service.version}"/>
                                <property name="timestamp" value="${maven.build.timestamp}"/>
                                <!--指定构建文件目录,指定到当前目录(src所在目录)下的config/auto_zip.xml文件-->
                                <ant antfile="./config/auto_zip.xml">
                                    <!--指定auto_zip.xml中要执行的target标签名-->
                                    <target name="autozip"/>
                                </ant>
                            </target>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

指定文件后,刷新pom,会发现auto_zip.xml变成这个图标。
在这里插入图片描述

2. 自定义构建命令

<?xml version="1.0" encoding="UTF-8" ?>
<project name="zip" default="autozip" basedir="../../web/custom-web">
    <target name="autozip">
        <!-- ${basedir} 属于maven的基本属性,指的是pom.xml文件所在目录      - -->
        <property name="conf4Micro" value="${basedir}/config"/>

        <!--创建临时目录,路径可以随意指定-->
        <mkdir dir="${conf4Micro}/${microservice}/temp"/>
        <mkdir dir="${conf4Micro}/${microservice}/temp/src"/>
        <mkdir dir="${conf4Micro}/${microservice}/temp/dist"/>

        <!--将/bin目录下的所有文件copy到/temp中-->
        <copy todir="${conf4Micro}/${microservice}/temp/">
            <fileset dir="${conf4Micro}/bin" includes="*.*"/>
        </copy>

        <!--将target目录下的jar包copy到/temp中,includes要指定好jar包的名称(可以通过pom文件<build>中<finalName>标签指定)-->
        <copy todir="${conf4Micro}/${microservice}/temp/">
            <fileset dir="${basedir}/target" includes="${microservice}-${version}.jar"/>
        </copy>

        <!--重新将jar包命名-->
        <move file="${conf4Micro}/${microservice}/temp/${microservice}-${version}.jar"
              tofile="${conf4Micro}/${microservice}/temp/${microservice}.jar"/>

        <!--        <replace file="${conf4Micro}/${microservice}/temp/package.json" token="package_version"-->
        <!--                 value="${version}.${timestamp}"/>-->

        <!--将/temp目录下的所有文件打成zip包,目录及名称由destfile指定-->
        <zip destfile="${basedir}/target/${packagename}_${version}.${timestamp}.zip">
            <fileset dir="${conf4Micro}/${microservice}/temp"/>
        </zip>

        <!--删除临时目录-->
        <delete dir="${conf4Micro}/${microservice}/temp"/>
        <delete dir="${conf4Micro}/${microservice}"/>
    </target>
</project>

3. 效果

将项目进行package,在target目录下就会生成一个zip压缩包。可以将压缩包作为一个工具发给别人,解压双击startup.bat后执行jar包,就可执行我们自己的业务逻辑了。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值