问题
i am using Apache Maven 3.0 Nexus Open Source Edition, Version: 1.8.0.1
this is part of my pom.xml
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.1</version>
</plugin>
<distributionManagement>
<repository>
<id>nexus</id>
<name>nexus</name>
<url>http://myrepo/nexus/content/repositories/releases</url>
</repository>
</distributionManagement>
it is a very simple project. when i do
mvn release:prepare
mvn release:perform
everything runs fine:
...
[INFO] [INFO] --- maven-deploy-plugin:2.5:deploy (default-deploy) @ simple ---
[INFO] Uploading: http://myrepo/nexus/content/repositories/releases/...pom
[INFO] 4 KB
[INFO] 5 KB
[INFO]
[INFO] Uploaded: http://myrepo/nexus/content/repositories/releases/....pom (5 KB at 1.0 KB/sec)
[INFO] Downloading: http://myrepo/nexus/content/repositories/releases/.../maven-metadata.xml
[INFO] 603 B
[INFO]
[INFO] Downloaded: http://myrepo/nexus/content/repositories/releases/.../maven-metadata.xml (603 B at 1.5 KB/sec)
[INFO] Uploading: http://myrepo/nexus/content/repositories/releases/.../maven-metadata.xml
[INFO] 634 B
[INFO]
[INFO] Uploaded: http://myrepo/nexus/content/repositories/.../maven-metadata.xml (634 B at 1.6 KB/sec)
Now i download http://myrepo/nexus/content/repositories/.../maven-metadata.xml it looks like this:
<metadata>
<groupId>simple</groupId>
<artifactId>simple</artifactId>
<versioning>
<latest>0.5.8</latest>
<release>0.5.8</release>
<versions>
<version>0.5.9</version>
<version>0.1</version>
<version>0.3</version>
<version>0.4</version>
<version>0.5.1</version>
<version>0.5.2</version>
<version>0.5.3</version>
<version>0.5.4</version>
<version>0.5.5</version>
<version>0.5.6</version>
<version>0.5.7</version>
<version>0.5.8</version>
</versions>
<lastUpdated>20110202190804</lastUpdated>
</versioning>
</metadata>
my latest and just released version is not marked as "latest" and "release".
Now i do "Rebuild Metadata" inside Nexus WebUI. I download metadata after this again. It looks now like this
<metadata>
<groupId>simple</groupId>
<artifactId>simple</artifactId>
<versioning>
<latest>0.5.9</latest>
<release>0.5.9</release>
<versions>
<version>0.1</version>
<version>0.3</version>
<version>0.4</version>
<version>0.5.1</version>
<version>0.5.2</version>
<version>0.5.3</version>
<version>0.5.4</version>
<version>0.5.5</version>
<version>0.5.6</version>
<version>0.5.7</version>
<version>0.5.8</version>
<version>0.5.9</version>
</versions>
<lastUpdated>20110202191117</lastUpdated>
</versioning>
</metadata>
This looks like a bug in nexus or in maven? Does anybody has a solution for this?
回答1:
Have you tried setting updateReleaseInfo
to true in your deploy plugin configuration?
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.5</version>
<configuration>
<updateReleaseInfo>true</updateReleaseInfo>
</configuration>
</plugin>
Note, I haven't tried this, just happened to have the deploy plugin docs open when I read this question and it seems reasonable.
From the Maven docs:
updateReleaseInfo:
Parameter used to update the metadata to make the artifact as release.
Type: boolean
Required: No
Expression: ${updateReleaseInfo}
Default: false
来源:https://stackoverflow.com/questions/4878808/maven-metadata-xml-is-not-updated-when-deploying-to-nexus