Java 快照和发布版本未在Maven本地存储库中获得更新
我已经建立了一个Nexus存储库来连接两个独立的项目。我正在Nexus上成功地构建和部署发行版和快照版本,但是当我尝试在其他项目中使用maven update时,这些更改没有得到更新 所以我在一个项目中的一个_Project.jar中所做的是在nexus存储库中更新的 但是当我试图在B_项目中获得这个更新的jar时,我得到了maven本地存储库中的旧jar。现在,如果手动删除A_Project.jar,显然会得到更新的代码 为了实现快照的更新版本和发布版本,我尝试了以下方法Java 快照和发布版本未在Maven本地存储库中获得更新,java,maven,build,nexus,release-management,Java,Maven,Build,Nexus,Release Management,我已经建立了一个Nexus存储库来连接两个独立的项目。我正在Nexus上成功地构建和部署发行版和快照版本,但是当我尝试在其他项目中使用maven update时,这些更改没有得到更新 所以我在一个项目中的一个_Project.jar中所做的是在nexus存储库中更新的 但是当我试图在B_项目中获得这个更新的jar时,我得到了maven本地存储库中的旧jar。现在,如果手动删除A_Project.jar,显然会得到更新的代码 为了实现快照的更新版本和发布版本,我尝试了以下方法 我在mvn干净构建中
<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>
部署
内部Nexus存储库
http://server/nexus/content/groups/public/
违约
真的
总是
在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>
快照
http://server/nexus/content/repositories/snapshots
总是
总是
请帮助我,因为这将成为我获取最新jar的一个重复过程。我看不到足够的settings.xml来说明发生了什么。您所展示的只是pluginRepository部分,它用于解析Maven插件,而不是工件 我建议从标准settings.xml文件开始: 您可能需要修改中央存储库定义,以便始终查找快照更新:
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
中心的
http://central
真的
真的
总是
听起来您也在尝试重新发布相同的发布版本?这是一种糟糕的做法,发布应该被认为是不可变的(很多工具链都假设它们是不变的)。增加版本号以生成新版本。为了纠正rsedon,我在setting.xml和pom.xml中做了很多更改。为了更好的理解,我将在这里发布这篇文章。