• maven打包加时间戳方法总结


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

    1 使用maven自带的属性

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

    <properties>
    <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
    </properties>
    

    在打包plugin中引用该属性

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

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

    2 使用buildnubmer-maven-plugin

    <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中引用该属性

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

    3 使用build-helper-maven-plugin

       <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文件中,打个包试试,是不是自己加上了时间戳 ^-^

  • 相关阅读:
    集成mybatis(五)
    集成mybatis(四)
    集成mybatis(三)
    集成mybatis(二)
    集成mybatis(一)
    动态代理深入研究
    ==和equals的区别
    ajax写法
    springMVC通过ajax传参到后台
    记录一次 sql在数据库可以查到 mybatis代码查不到的问题
  • 原文地址:https://www.cnblogs.com/ScvQ/p/7058106.html
Copyright © 2020-2023  润新知