我在 Linux 系统中使用 Nexus 存储库,当我构建项目时,它会在 Windows 系统中使用以下方法下载丢失的工件:
mvn install command
这些工件是由我的 Nexus 存储库从映射到 Nexus 存储库的远程存储库下载的。
Linux 系统中设置的 nexus 存储库和远程存储库之间的这种连接以前可以工作,因此当我使用 maven 构建项目时,我可以自动获取 Maven 构建所需的所有工件。
但是由于某些原因,Linux 中的 Nexus 存储库无法从远程存储库下载工件。我希望发生这种连接,以便我可以获得所需的工件,比如从远程存储库下载的
tomcat-catalina-7.0.16.jar
。
我是 Nexus 的新手...所以可能我无法正确解释我的问题,或者我的问题在技术上不健全。但我急切地想解决我的问题。所以,如果有人可以帮忙,请帮忙。
嗨,我检查了
nexus.log
并在 mvn install 命令运行时以及当 nexus 尝试从远程存储库下载丢失的 tomcat-catalina-7.0.16.jar
工件时发现了以下异常:
2012-01-18 11:58:35 ERROR [http-8090-23 ] - o.s.n.p.m.m.M2Repos~
- Got Storage Exception while storing remote artifact, will attempt next mirror, cause: org.sonatype.nexus.proxy.RemoteStorageException: The method execution returned result code 407.
[repositoryId="central", requestPath="/org/apache/tomcat/tomcat-catalina/7.0.16/tomcat-catalina-7.0.16.jar.sha1", remoteUrl="http://repo.ibsplc.com/artifactory/repo/org/apache/tomcat/tomcat-catalina/7.0.16/tomcat-catalina-7.0.16.jar.sha1"]
2012-01-18 11:58:35 ERROR [http-8090-23 ] - o.s.n.r.ContentPlex~
- Got exception during processing request "GET http://192.168.4.8:8090/nexus/content/repositories/central/org/apache/tomcat/tomcat-catalina/7.0.16/tomcat-catalina-7.0.16.jar.sha1":
org.apache.lucene.store.AlreadyClosedException: this IndexWriter is closed
2012-01-18 11:58:35 ERROR [http-8090-23 ] - o.s.n.p.m.m.M2Repos~
- Got Storage Exception while storing remote artifact, will attempt next mirror, cause: org.sonatype.nexus.proxy.RemoteStorageException: The method execution returned result code 407.
[repositoryId="central", requestPath="/org/apache/tomcat/tomcat-catalina/7.0.16/tomcat-catalina-7.0.16.jar.sha1", remoteUrl="http://repo.ibsplc.com/artifactory/repo/org/apache/tomcat/tomcat-catalina/7.0.16/tomcat-catalina-7.0.16.jar.sha1"]
2012-01-18 11:58:35 ERROR [http-8090-23 ] - o.s.n.r.ContentPlex~
- Got exception during processing request "GET http://192.168.4.8:8090/nexus/content/repositories/central/org/apache/tomcat/tomcat-catalina/7.0.16/tomcat-catalina-7.0.16.jar.sha1":
org.apache.lucene.store.AlreadyClosedException: this IndexWriter is closed
2012-01-18 11:58:25 INFO [http-8090-23 ] - o.a.c.h.a.AuthChall~
- Basic authentication scheme selected
2012-01-18 11:58:25 INFO [http-8090-23 ] - o.a.c.h.HttpMethodD~
- Failure authenticating with BASIC 'Squid proxy-caching web server'@192.168.0.46:80
2012-01-18 11:58:25 ERROR [http-8090-23 ] - o.s.n.p.m.m.M2Repos~
- Got Storage Exception while storing remote artifact, will attempt next mirror, cause: org.sonatype.nexus.proxy.RemoteStorageException: The method execution returned result code 407.
[repositoryId="central", requestPath="/org/apache/tomcat/tomcat-catalina/7.0.16/tomcat-catalina-7.0.16.pom", remoteUrl="http://repo.ibsplc.com/artifactory/repo/org/apache/tomcat/tomcat-catalina/7.0.16/tomcat-catalina-7.0.16.pom"]
如果有人能找到解决方案。请帮忙
可以从 Maven Central 获取 tomcat-catalina,因此这是需要磨练的存储库镜像。
我建议检查以下内容:
您确定问题出在您的 Nexus 实例上吗?您是否在 settings.xml 文件中设置了中央镜像?
<mirror>
<id>nexus</id>
<url>http://myhost.com/nexus/content/central</url>
<mirrorOf>central</mirrorOf>
</mirror>
该 URL 应与 Nexus 存储库中的代理存储库 URL 匹配
当您查看 Maven 存储库(通过 Nexus GUI)时,Maven 中央代理存储库是否标记为“blocked”?
如果是这样,则表明它与远程 Maven 中央存储库之间存在连接问题。
Nexus 日志文件可能会提供一些线索。
您是否在公司防火墙后面运行 Nexus?一个常见问题是忘记在 Nexus 中设置 HTTP 代理设置。
我知道这篇文章有点旧,但是这两个选项都没有帮助我,有帮助的是我的settings.xml设置为使用本地存储库:
<settings>
<localRepository>E:/maven</localRepository>
</settings>
我没有 E: 驱动器(废话)...但这意外地阻止了 Maven 从 Nexus 下载。将其更改为 C:drive and magic!又工作了!