我已经设置 buildnumber-maven-plugin 从SVN中提取版本号并将其存放在jar内的META-INF / MANIFEST.MF中。这没问题。
但是当我尝试将它与 maven-assembly-plugin 一起使用以将所有其他lib打包在一起它似乎不起作用时,版本号内容不包含在清单中在...- jar-with-dependencies.jar中。
有没有人设法让他们一起工作?
或者:是否有(合理的简单)方法使用Maven将$ {buildNumber}输出到文本文件(可能是.properties)? Maven中的Ant任务可以做到这一点我想但是有更简单的方法吗?
答案 0 :(得分:3)
哎呀...发布后我找到了这个:how to add arbitrary information in manifest from maven assembly plugin并且砸了我的脑袋。
好的,所以pom中的maven-assembly-plugin现在看起来像这样
<build> ... <plugins> ...
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>...</mainClass>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Implementation-Build>${buildNumber}</Implementation-Build>
</manifestEntries>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>