我已经建立了一个Nexus存储库来连接两个独立的项目。我正在Nexus上成功构建和部署RELEASE和SNAPSHOT版本,但是当我尝试使用maven update在其他项目中使用这些更改时,这些更改没有得到更新。
所以我在一个项目中的A_Project.jar中做了什么,它在nexus存储库中得到了更新。
但是当我试图在B_Project上获得这个更新的jar时,我得到了maven本地存储库中的旧jar。现在,如果我手动删除A_Project.jar,我显然会获得更新的代码。
为了实现SNAPSHOT和RELEASED版本的更新版本,我尝试了以下方法。
在settings.xml中
<pluginRepository>
<id>deployment</id>
<name>Internal Nexus Repository</name>
<url>http://server/nexus/content/groups/public/</url>
<layout>default</layout>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<updatePolicy>always</updatePolicy>
</releases>
</pluginRepository>
在pom.xml中
<repositories>
<repository>
<id>snapshots</id>
<url>http://server/nexus/content/repositories/snapshots</url>
<snapshots>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<updatePolicy>always</updatePolicy>
</releases>
</repository>
</repositories>
请帮助,因为这将成为我获取最新罐子的重复过程。
答案 0 :(得分:2)
我无法看到足够的settings.xml来说明发生了什么。你所展示的只是pluginRepository部分,它用于解决Maven插件,而不是工件。
我建议从标准的settings.xml文件开始:
http://books.sonatype.com/nexus-book/reference/maven-sect-single-group.html
您可能希望修改中央存储库定义以始终查找快照更新:
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
听起来您还试图重新发布相同的发行版本?这是一种不好的做法,版本应该被认为是不可变的(许多工具链都假设它们是)。增加版本号以生成新版本。