【发布时间】:2016-03-23 11:06:55
【问题描述】:
我在 nexus 中添加了一个代理存储库。当我在Routing 中update now 时,它失败了。我添加的回购网址是https://raw.githubusercontent.com/dianping/cat/mvn-repo
我可以访问这个网址
我无法访问此网址
https://raw.githubusercontent.com/dianping/cat/mvn-repo
响应 400:无效请求
所以。这是来自更新的回购服务器块连接。
如果我在 Maven 设置中不使用镜像,Maven 更新将正常工作。
同时,当我使用 nexus public repositores group 作为我的镜像时(我还添加了 proxy repo 到 public repositories group),它只报告Failure to find org.unidal.maven.plugins:codegen-maven-plugin:jar:2.3.2
in http://172.xxx/nexus/content/groups/public
我该如何解决这个问题?
我猜 maven 解析流程是这样的:
- maven 解决依赖关系
- 在本地查找依赖
- 在存储库管理器中查找
- 在代理存储库中查找。
由于可以访问像https://raw.githubusercontent.com/dianping/cat/mvn-repo/org/unidal/maven/plugins/codegen/2.3.2/codegen-2.3.2.pom 这样的完整 url,如果我的猜测是正确的,repo manager 可以获取特定的 pom url。
我想知道:不像maven central,你可以访问它的索引或称为文件树,这个cat.repo你只能访问它的文件而不能访问它的目录。那么maven有什么区别呢?如何处理?
编辑
因为我没有使用<mirrorOf>*</mirrorOf> 已成功更新。我的本地存储库已经在 Nexus 中下载了这些缺失的插件。所以我按照Maven not using the local repo 中的提示进行操作,丢失的插件不会再次导致错误,但在nexus 中又找不到另一个工件。
我也像maven missing artifact 显示的那样,由
删除本地的 maven-metadata*.xml 和 _*.repositories
还是不行。
【问题讨论】:
-
您确定上面配置选项卡上的条目正确吗?
-
@hack_on 我认为这是正确的。我添加了其他代理存储库没有问题。我在帖子中添加了一个截图。
-
我想我是在问从“代理存储库”到外部存储库的连接是否通过需要用户名/密码等设置的公司代理,这就是代理存储库报告它的原因被屏蔽了?
-
但是我可以访问 pom url,正如我在帖子中所说的那样。所以这不是身份验证问题。谢谢你的建议。
-
我可能会感到困惑,但似乎远程仓库给出了这个状态! raw.githubusercontent.com/dianping/cat/mvn-repo/org/unidal/… 有效,但 raw.githubusercontent.com/dianping/cat/mvn-repo/org/unidal/… 给出 400