Maven打包时自动增加时间戳(2种方式)

当前场景下,某些包需要上传到服务器进行执行。使用的是Maven进行管理的方式,但是多次修改后也不能修改包版本。所以希望通过jar包的时间戳来确定当前的版本。直接在包名上添加时间戳,如:springboot-0.0.1-SNAPSHOT- 20190919 .jar,能够简单方便的进行查找与管理。

1、使用Maven自带的时间戳

在maven2.1.0-M1之后maven内置了一个特殊变量 maven.build.timestamp,所以我们可以基于该变量进行直接打包。

  1. 设置时间戳格式: 在pom.xml文件中添加时间格式配置

<properties>
    <maven.build.timestamp.format>yyyy_MM_dd_HH</maven.build.timestamp.format>
</properties>
  1. 在Maven打包的plugin中引用该属性

<build>
    <finalName>${project.artifactId}_${project.version}_${maven.build.timestamp}</finalName>
    ...
</build>

该方式使用的是maven自带的时间戳 ${maven.build.timestamp},但是该时间是UTC时区。如果需要自定义时区,可以选择使用插件来实现。

2、使用build-helper-maven-plugin

    

    build-helper-maven-plugin允许用户使用不同的地区设置自定义的时间戳格式。

  1. pom.xml的plugin中增加build-helper-maven-plugin配置

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <id>timestamp-property</id>
            <goals>
                <goal>timestamp-property</goal>
            </goals>
            <configuration>
                <name>build.time</name>
                <pattern>MM/dd/yyyy hh:mm aa</pattern>
                <locale>en_US</locale>
                <timeZone>America/Detroit</timeZone>
            </configuration>
        </execution>
    </executions>
</plugin>
  1. 设置finalName

<build>
    <finalName>${project.artifactId}_${project.version}_${build.time}</finalName>
</build>

把 maven.build.timestamp修改成了自定义的 package.time,进行打包测试,时间戳与当前时间一致  

把时间戳添加到包名上通过包名直接能够查看到打包的时间,方便包的查找,管理。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值