前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >maven打包加时间戳[通俗易懂]

maven打包加时间戳[通俗易懂]

作者头像
全栈程序员站长
发布2022-08-23 19:14:26
1.6K0
发布2022-08-23 19:14:26
举报

大家好,又见面了,我是你们的朋友全栈君。

maven打包加时间戳方法总结

基于Maven的项目,发布时需要打包,如tar.gz。web项目打成war格式包。每次打包时希望自己加上时间戳,假如我的项目名是myproject,默认打包后名为myproject.war。而我希望的名字为myproject-1.0.0-20160217。方便以后对包进行查找与管理,如何实现这种效果呢?

1 使用maven自带的属性

设置时间戳格式:在pom.xml文件中加入以下配置

代码语言:javascript
复制
<properties>
<maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
</properties>

在打包plugin中引用该属性

代码语言:javascript
复制
<finalName>
  ${project.artifactId}-${project.version}_${maven.build.timestamp}
</finalName>

Maven自带时间戳使用${maven.build.timestamp},但是时区是UTC。 如果要使用GMT+8,就需要插件提供支持,以下两个插件可以实现。

2 使用buildnubmer-maven-plugin

代码语言:javascript
复制
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>buildnumber-maven-plugin</artifactId>
    <version>1.4</version>
    <configuration>
        <timestampFormat>yyyyMMdd</timestampFormat>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>create-timestamp</goal>
            </goals>
        </execution>
    </executions>
    <inherited>false</inherited>
</plugin>

默认属性是timestamp,在打包plugin中引用该属性

代码语言:javascript
复制
<finalName>
${project.artifactId}-${project.version}_${timestamp}
</finalName>

3 使用build-helper-maven-plugin

代码语言:javascript
复制
   <build>
    <finalName>ProjectName-${current.time}</finalName>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>1.9.1</version>
            <executions>
                <execution>
                    <id>timestamp-property</id>
                    <goals>
                        <goal>timestamp-property</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <name>current.time</name>
                <pattern>yyyyMMdd-HHmmss</pattern>
                <timeZone>GMT+8</timeZone>
            </configuration>
        </plugin>
    </plugins>
</build>

将以上的几种方式配置分别加入到自己的pom.xml文件中,打个包试试,是不是自己加上了时间戳 ^-^

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139348.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • maven打包加时间戳方法总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档