使用常春藤缓存工件的关联



好的;我的第一个堆栈溢出问题。

我一直在尝试使用我们的本地 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 发布存储库时,可以使用"发布存储库"解析器。

相关内容

  • 没有找到相关文章

最新更新