Maven - 如何获取工件的构建日期时间?

时间:2015-08-07 14:56:14

标签: maven

有没有办法使用mvn cli显示工件的构建日期时间?

上下文:假设我对版本eq RELEASE有依赖关系(Maven为每个版本下载此类工件的最新版本)并且需要知道它的构建日期和时间。

3 个答案:

答案 0 :(得分:1)

如果构建是使用maven执行的,并且您不对其负责,则可以检查jar的META-INF/maven/<groupId>/<artifactId>/pom.properties

虽然由于特定的插件,maven版本等而缺少此信息,但是可能

我不建议使用此技术自动提取信息。如果它是一个,没有成功的保证,这是好的。

pom.properties的内容如下:

#Generated by Maven
#Fri Aug 07 17:02:37 CEST 2015
version=0.0.1-SNAPSHOT
groupId=be.ogregoire
artifactId=tets

你感兴趣的是第二行。但是在评论时,请不要使用Properties对象来阅读它。

另外,我承认我不知道任何cli方式来检查这个。

答案 1 :(得分:0)

This插件应该可以解决您的要求。您可以像这样使用它:

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <version>1.3</version>
        <executions>
          <execution>
            <phase>validate</phase>
            <goals>
              <goal>create</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <doCheck>true</doCheck>
          <doUpdate>true</doUpdate>
        </configuration>
      </plugin>
    </plugins>
  </build>

之后你将能够修改最终名称,即

  <build>
    <finalName>$\{project.artifactId}-$\{project.version}-r$\{buildNumber}</finalName>
  </build>

同样,为了在POM中使用构建日期,请利用buildnumber:create-timestamp

答案 2 :(得分:0)

声明 pom 的属性:

<maven.build.timestamp.format>yyyy/MM/dd HH:mm:ss</maven.build.timestamp.format>

或选择的日期格式。

然后使用资源过滤或放入 src/main/resources 文件:

示例

BuildInfo.properties

buildDate=${buildDate}