我们有一个nexus-server,它有一个包含每个外部代理库(例如maven-central)的公共maven-public repository-group。除此之外,我们还有一个本地托管存储库我们称之为MyProjectRepository。它分为release-repo和snapshot-repo。
所以,目前它看起来像这样:
好的,ArtifactTwo需要ArtifactOne作为依赖项。所以,我在依赖项部分添加了这个:
<dependency>
<groupId>com.company</groupId>
<artifactId>artifactone</artifactId>
<version>0.0.5</version>
</dependency>
我已经像这样配置了存储库部分:
<repository>
<id>myprojectrepositoryss</id>
<name>MyProjectRepository Snapshots</name>
<url>http://mylocalnexus.com/nexus/repository/MyProjectRepository-Snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
我的settings.xml镜像部分如下所示:
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>external:*, !myprojectrepositoryss</mirrorOf>
<url>http://mylocalnexus.com/nexus/repository/maven-public/</url>
</mirror>
我的settings.xml配置文件 - 部分如下所示:
<profile>
<id>nexus</id>
<!--Enable snapshots for the built in central repo to direct -->
<!--all requests to nexus via the mirror -->
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
尽管设置了本教程中描述的所有内容,但我的IDE指出无法找到给定依赖项中的工件。
无法在项目ArtifactTwo上执行目标:无法解决 项目com.company:ArtifactTwo:jar:0.0.3-SNAPSHOT的依赖项: 找不到 com.company:artifactone:jar:0.0.5 in http://mylocalnexus.com/nexus/repository/maven-public/被缓存进来了 本地存储库,解决方案将不会重新尝试,直到 更新了nexus的间隔或强制更新
为什么在“maven-public”中搜索依赖项? 有没有人知道如何让这个工作?
答案 0 :(得分:0)
它根据需要在maven-public组中进行搜索,并在设置文件的镜像URL中进行配置。
您只需将项目存储库添加到maven-public存储库组,它就可以正常工作。
答案 1 :(得分:0)
这很奇怪,但是在<distributionManagement>
中声明要部署项目快照或发布的存储库,不默认将其设置为< strong>下载项目快照或发布。
我的解决方案是提供一个明确的<repositories>
部分,其中列出了<distributionManagement>
部分中的快照和发布存储库。
请注意,本地和远程存储库的高度缓存结构以及Maven在本地标记无法在白天远程尝试找到的工件的“习惯”,这使情况分析变得非常复杂。使用 -U Maven选项确实可以解决该问题。