maven存储库代理混乱
我正在使用maven 3.0(带有nexus设置)构建我的项目,但构建失败:maven存储库代理混乱,maven,settings,nexus,Maven,Settings,Nexus,我正在使用maven 3.0(带有nexus设置)构建我的项目,但构建失败: Caused by: org.sonatype.aether.transfer.ArtifactNotFoundException: Could not find artifact directory:apacheds-core:jar:${apacheds_version} in central (http://localhost:8081/nexus/content/repositories/central) at
Caused by: org.sonatype.aether.transfer.ArtifactNotFoundException: Could not find artifact directory:apacheds-core:jar:${apacheds_version} in central (http://localhost:8081/nexus/content/repositories/central)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:945)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:940)
我的基本困惑是:当maven在pom.xml中看到依赖项时,它如何在远程存储库中查找工件
我目前的理解是:
中心的
http://localhost:8081/nexus/content/repositories/central
遥远的
http://localhost:8081/nexus/content/repositories/remote-代理连接中心
第三方
http://localhost:8081/nexus/content/repositories/thirdparty
科德豪斯
http://localhost:8081/nexus/content/repositories/codehaus-快照
公众的
http://localhost:8081/nexus/content/groups/public
我最后一个困惑是关于settings.xml中的代理部分。这些地点是什么:
<proxy>
<id>remote-proxy-nexus-central</id>
<active>true</active>
<protocol>http</protocol>
<host>repo1.maven.org/maven2</host>
<port>8080</port>
</proxy>
远程代理nexus central
真的
http
repo1.maven.org/maven2
8080
我可以告诉您,我们使用本地Nexus,并让所有用户的settings.xml中都包含以下内容:
<mirror>
<id>our-mirror</id>
<name>Org Public Mirror</name>
<url>http://host/nexus/content/groups/public</url>
<mirrorOf>*</mirrorOf>
</mirror>
我们的镜子
组织公共镜像
http://host/nexus/content/groups/public
*
这会导致maven的任何调用转到Nexus以获取依赖项。关于maven首先在local.m2中查找的问题,您是对的
Nexus代理许多存储库,并拥有它们的联合(对于调用它的maven进程)。
这意味着开发人员的本地maven只知道一个存储库:Nexus。Nexus将提供其代理/托管存储库中所需的所有依赖项id
至于代理,我们有一个组织代理,但是Nexus在组织中(它将代理配置为允许访问外部世界),因此maven不需要这种特定的配置
我希望这能为您提供一些入门信息
我强烈建议您查看与Nexus/Maven相关的配置:将Maven与Nexus结合使用的正确设置记录在《Nexus存储库管理》一书中。示例settings.xml为。阅读说明并注意,您需要为中央存储库添加覆盖以启用快照
完成此操作后,您不需要在settings.xml中配置代理,因为它在本地网络中不需要代理即可使用(通常)。相反,您可以在Nexus中配置代理设置,这样它就可以进入您代理的存储库(如Central)。记录了全局代理配置,如果需要,您还可以配置每个代理存储库的详细信息,例如,如果您需要代理存储库的用户名/密码,因为它是私有的 链接好像断了。。404找不到..如果可能的话,请您修复一下。。