好的;我的第一个堆栈溢出问题。
我一直在尝试使用我们的本地 Nexus 从外部存储库下载工件并从外部存储库自动检索这些工件,以防它们不存在。 并缓存它们的方式。
我正在使用 Ant 和 Ivy 来处理依赖关系。
问题或多或少与这个问题相似:常春藤通过Nexus代理对我的理解的最终答案确实允许使用nexus作为存储库,但它没有缓存(至少对我来说不是)。
我看到很多材料围绕着这个主题徘徊,但没有确切的性质(可悲的是我无法弄清楚)。
所以让我总结一下。我正在使用使用 url 解析器的本地 nexus 存储库,因为如果需要发布,我们应该使用 URL(在某处阅读):
<chain name="deploy-chain">
<url
name="nexus"
m2compatible="true"
>
<artifact pattern="${nexus.host}/${nexus.pattern}" />
<ivy pattern="${nexus.host}/${nexus.ivy.pattern}" />
</url>
<ibiblio
name="maven.public"
m2compatible="true"
/>
</chain>
常春藤.xml和构造.xml是非常标准的。
那么,是否可以使用常春藤来做到这一点,或者这是一个联系问题?
在缓存或本地存储库中检索工件后,将工件(指定的 ant 目标)发布到 Nexus 是否是一种好的做法?(这似乎是一个非常糟糕的做法,但唯一的选择总是一个很好的选择)
这是对工具的滥用吗?
ibiblio 解析器是配置 Maven 存储库的最佳方式。
以下 ivysettings.xml 文件将 ivy 配置为拉取其依赖项 Nexus。
<ivysettings>
<settings defaultResolver="central-proxy"/>
<resolvers>
<ibiblio name="central-proxy" m2compatible="true" root="http://mynexushost/nexus/content/repositories/central/"/>
<ibiblio name="release-repo" m2compatible="true" root="http://mynexushost/nexus/content/repositories/releases/"/>
</resolvers>
</ivysettings>
"中央代理"解析器配置为从Nexus中默认提供的默认Maven Central代理存储库中提取内容。
将内容发布到 Nexus 发布存储库时,可以使用"发布存储库"解析器。