zoukankan      html  css  js  c++  java
  • 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文件中,打个包试试,是不是自己加上了时间戳 ^-^

    参考:

    maven打包加时间戳方法总结

  • 相关阅读:
    37.1 net-- udp传输
    37 net 网络编程
    review
    java day02 记录
    36.2 线程生命周期
    36.1 线程锁
    36 Thread 多线程
    35 编码 ASCII Unicode UTF-8 ,字符串的编码、io流的编码
    34.6 Properties(k,v存储) 和io流结合使用
    今日学习总结
  • 原文地址:https://www.cnblogs.com/winner-0715/p/8398422.html
Copyright © 2011-2022 走看看