Ivy 通过 Nexus 代理

2024-04-14

有谁知道我如何在 Ivy 中指定 Maven 中的镜像/mirrorOf 之类的东西?我正在使用本地 Maven 代理 (Nexus),并且需要该工具来指定 Nexus 代理应访问哪个父存储库。

在 Maven 中我简单地做:

<mirrors>
  <mirror>
    <id>central-mirror</id>
    <mirrorOf>central</mirrorOf>
    <url>http://localhost:8081/content/repositories/central</url>
  </mirror>
</mirrors>

但我在ivy找不到这种选项。


您需要创建一个公共解析器来执行您想要的操作(更多详细信息@Ivy docs http://ant.apache.org/ivy/history/latest-milestone/tutorial/defaultconf.html)

基本上将以下代码段保存在 $USERHOME/.ivy2/ivysettings-public.xml 下。这应该可以解决问题。

<ivysettings> 
  <resolvers> 
    <ibiblio name="public" m2compatible="true" root="http://localhost:8081/content/groups/public"/> 
  </resolvers> 
</ivysettings>
  • 未经修改的标准安装在 URL 中包含“nexus”!
  • 如果您需要部署工件,我认为解决方案是执行类似于共享解析器的操作(请参阅上面的文档链接),但我还没有尝试过。
  • 我更改了您的本地 URL 以解析为标准“内容/组/公共”,这更好,因为在上面的 Maven 设置片段中,您将通过镜像传递所有调用,而不仅仅是传递到中央的调用。只需在 Nexus UI 中将任何其他存储库添加到该组中,就可以了。
  • 如果你的项目加载它自己的ivysettings,它不遵守默认值,那么这些设置将不会被加载,你会再次回到零:(
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ivy 通过 Nexus 代理 的相关文章

随机推荐