在我的.ml文件夹的settings.xml中,以下配置应用于从本地nexus存储库获取jar文件:
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>central</mirrorOf>
<url>http://192.168.0.172:9090/nexus/content/groups/public/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
在我的pom.xml中,声明了一个外部存储库,以获取未在中央存储库中显示的jar文件:
<repositories>
<repository>
<id>spring-snasphot</id>
<url>https://repo.spring.io/snapshot</url>
</repository>
</repositories>
尽管这些所谓的“缺失的工件”存在于.m2的相应文件夹中,但我总是得到
缺少神器......
我的配置有什么问题? 提前致谢。
答案 0 :(得分:2)
最后我才明白了。从相应的文件夹中删除了不包含jar文件的文件,然后更新了maven项目解决了这个问题。
答案 1 :(得分:0)
配置看起来不错。但必须要发生一些事情......
如果从本地存储库中删除这些快照工件并重试(例如:mvn dependency:go-offline
),您是否看到尝试从https://repo.spring.io/snapshot下载工件?
附加存储库似乎包含快照,但未为该存储库启用。但我不确定这是默认值。由于更新策略,可能找不到工件。它们是本地可用的,但是太旧了,所以maven尝试更新它们但是失败了(你试过mvn -X吗?这可能表明在解决这些工件时失败了)。
可以选择将spring snapshots repo添加到你的nexus(启用了快照repo),并将设置xml中的mirrorOf设置为<mirrorOf>*</mirrorOf>
。
中央的镜子可能是这样的:只是一个实验:)
验证maven实际看到的设置是您认为的设置总是一件好事:
mvn help:effective-settings
mvn help:effective-pom