最好的解決方案可能是使用buildnumber-maven-plugin從VCS等獲取信息並將此信息放入manifest.mf文件中。您可以繼續使用maven-dependency-plugin:copy goal將工件複製到適當的文件夾中。只有在你有SNAPSHOT的情況下,你纔有可能看看這個jar本身。
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>true</doCheck>
<doUpdate>true</doUpdate>
</configuration>
</plugin>
</plugins>
</build>
您可以定義什麼應該被放入MANIFEST.MF文件類似如下:
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.1</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Implementation-Build>${buildNumber}</Implementation-Build>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
爲什麼不使用神器的版本? – khmarbaise
其SNAPSHOT版本,所以不能保證工件是相同的,這是快照的重點,但我需要在上述場景中獲得特定的構建 – u123