确定;我的第一个stackoverflow问题。
我一直在尝试使用我们的本地Nexus从外部存储库中自动下载工件并从中检索这些工件,以防它们不存在。 CACHE 他们在路上。
我正在使用Ant和Ivy来处理依赖。
这个问题或多或少类似于这个问题: Ivy via Nexus proxy 我的理解的最终答案确实能够使用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>
ivy.xml和build.xml非常标准。
那么,是否有可能使用常春藤这样做或者这是一个关联问题?
在我的缓存或本地存储库中检索工件后,将工件(指定的ant目标)发布到Nexus是一个好习惯吗? (这似乎是一种非常糟糕的做法,但唯一的选择始终是一个很好的选择)
这是滥用工具吗?
答案 0 :(得分:2)
ibiblio解析器是配置Maven存储库的最佳方式。
以下 ivysettings.xml 文件配置常春藤以拉动它的依赖关系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发布存储库时,可以使用“release-repo”解析程序。