我在其中一个模块的pom中添加了内部版本号插件,如下所示:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.0-beta-4</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>true</doUpdate>
<format>${project.version}.{0,number}</format>
<items>
<item>buildNumber</item>
</items>
</configuration>
</plugin>
此外,我尝试将内置的jar保存在文件夹./中,jar也通过使用jar插件将buildnumber附加到其版本名称:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Implementation-Build>${buildNumber}</Implementation-Build>
</manifestEntries>
</archive>
<outputDirectory>target/${buildNumber}</outputDirectory>
</configuration>
</plugin>
构建工作正常,jar在目标内创建为目标// myjar-.jar (其中版本为1.0,并且buildnumber随着每个构建从1开始递增) 但是在本地存储库中,jar被存储为包// myjar-.jar,即buildnumber没有被添加到那里。 有没有办法实现这个目标? 感谢。
答案 0 :(得分:2)
如果我正确理解你的问题,一切似乎都很好(目标目录中的工件,清单等),除了本地存储库中的文件名不是你想要的,我是对的吗?
如果是这样,如果我没记错的话,那确实应该有效。本地/远程存储库中的工件文件名是根据工件名称,版本号,修饰符和限定符以及快照的时间戳生成的。它与目标目录中的输出文件名无关。