Java 指定快照版本时不可解析的导入POM
我试图构建一个maven项目,该项目声明一个依赖项管理部分,其中pom依赖项具有快照版本。但是它拒绝构建,除非我设置了非快照版本 My settings.xml定义此镜像,它包含我需要的所有快照版本:Java 指定快照版本时不可解析的导入POM,java,maven,maven-3,Java,Maven,Maven 3,我试图构建一个maven项目,该项目声明一个依赖项管理部分,其中pom依赖项具有快照版本。但是它拒绝构建,除非我设置了非快照版本 My settings.xml定义此镜像,它包含我需要的所有快照版本: <mirrors> <mirror> <id>public</id> <url>http://repoHost:8081/nexus/content/groups/public/</url> <
<mirrors>
<mirror>
<id>public</id>
<url>http://repoHost:8081/nexus/content/groups/public/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
输出中的链接确实提供了一些线索,但我还是无法解决问题
如果我只是更新以使用特定版本,我就可以让它工作:
<properties>
<myArtifactId.version>1.0.0</myArtifactId.version>
</properties>
1.0.0
但是,消除对myParentArtifactId依赖项的引用并在所有指定的依赖项上指定快照版本也会失败,出现初始“找不到工件”错误,就像上面的“myGroupId:myParentArtifactId”错误一样
我可以在浏览Maven正在使用的存储库时看到快照版本。问题是为什么它找不到存在的快照?在阐述这个问题时,我实际上设法找到了答案: 我向my settings.xml添加了一个构建配置文件,该配置文件定义了在何处查找快照:
<profiles>
<profile>
<id>development-build</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>snaps</id>
<url>http://repoHost:8081/nexus/content/repositories/my-snapshots</url>
<snapshots>
<enabled>true</enabled>
<checksumPolicy>warn</checksumPolicy>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
开发建设
真的
折断
http://repoHost:8081/nexus/content/repositories/my-快照
真的
警告
总是
现在一切都按预期进行
“橡皮鸭”太棒了!:-) 在阐述这个问题时,我实际上设法找到了答案: 我向my settings.xml添加了一个构建配置文件,该配置文件定义了在何处查找快照:
<profiles>
<profile>
<id>development-build</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>snaps</id>
<url>http://repoHost:8081/nexus/content/repositories/my-snapshots</url>
<snapshots>
<enabled>true</enabled>
<checksumPolicy>warn</checksumPolicy>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
开发建设
真的
折断
http://repoHost:8081/nexus/content/repositories/my-快照
真的
警告
总是
现在一切都按预期进行
“橡皮鸭”太棒了!:-) 这是错误的解决方案。您必须更改Nexus的配置,才能将快照存储库正确地处理到公共组中。谢谢@khmarbaise!我会调查的。导致我只寻找客户端解决方案的原因是,我是唯一一个有这个问题的人。直到昨天,我还无法在任何其他机器上重现这个错误。然后我发现,通过擦除本地Maven缓存,在没有这个额外repo配置的任何机器上都会出现错误。因此,在我开始在这里工作之前,Nexus服务器上很可能已经发生了一些变化(我在这里还是个新手)。再次感谢你的提示!这是错误的解决方案。您必须更改Nexus的配置,才能将快照存储库正确地处理到公共组中。谢谢@khmarbaise!我会调查的。导致我只寻找客户端解决方案的原因是,我是唯一一个有这个问题的人。直到昨天,我还无法在任何其他机器上重现这个错误。然后我发现,通过擦除本地Maven缓存,在没有这个额外repo配置的任何机器上都会出现错误。因此,在我开始在这里工作之前,Nexus服务器上很可能已经发生了一些变化(我在这里还是个新手)。再次感谢你的提示!
<profiles>
<profile>
<id>development-build</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>snaps</id>
<url>http://repoHost:8081/nexus/content/repositories/my-snapshots</url>
<snapshots>
<enabled>true</enabled>
<checksumPolicy>warn</checksumPolicy>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>