有没有办法使用mvn cli显示工件的构建日期时间?
上下文:假设我对版本eq RELEASE有依赖关系(Maven为每个版本下载此类工件的最新版本)并且需要知道它的构建日期和时间。
答案 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}