当前位置: 首页 > 知识库问答 >
问题:

Nexus使用Ivy缓存工件

弓宏茂
2023-03-14

ok;我的第一个stackoverflow问题。

我一直在尝试使用我们的本地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是一个好做法吗?(这似乎是一个非常糟糕的做法,但唯一的选择总是一个很好的选择)

这是对工具的误用吗?

共有1个答案

墨雨华
2023-03-14

ibiblio解析器是配置Maven存储库的最佳方式。

下面的ivysettings.xml文件配置ivy来提取它的依赖关系。

<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>

“中心代理”解析器配置为从默认的 Maven Central 代理存储库中提取内容,该存储库默认位于 Nexus 中。

将内容发布到Nexus发布存储库时,可以使用“释放存储库”解析器。

 类似资料:
  • 我正在使用Maven 3.0.4和Nexus 2.0.6。我已经按照Nexus说明设置了我的settings.xml,以便使用单个存储库。当maven试图运行maven-U clean时,我得到以下错误。 如果我从设置中删除nexus镜像,直接转到maven中心,命令就会工作。nexus中maven repo的设置显示它处于服务状态,并且位于公共组中(最后列出)。 我不是背后的代理访问互联网。 这

  • 是否有任何ivy设置来为快照工件写入新文件位置,并删除旧工件,就像Gradle那样?

  • classpath : herosphp\cache\CacheFactory herophp的缓存是通过缓存工厂来管理的,CacheFactory 负责创建缓存,默认采用的是单例模式,也就是同一类型的缓存在应用中只会存再一个实例。 $cacher = CacheFactory::create('file', true); 我们为缓存工具定义了一个 ICache接口,它定义了以下接口方法: get

  • 我正在尝试将我的maven配置为使用Nexus存储库。我试图实现的应该是非常常见的:我希望有一个Nexus存储库作为中心依赖项的代理,还有两个用于快照和发布的存储库。那里有很多文档,但我无法让它运行。我编辑了my settings.xml,使其如下所示: 但我总是收到以下错误消息: 有人能帮帮我吗?我错过了什么?

  • 我是Gradle、nexus和Maven的新手,并尝试使用Gradle'publish'任务将Maven工件从Jenkins发布到一个新的nexus存储库。Jenkins作业在发布时失败,出现以下错误。我已经在作业中为Nexus提供了用户名和密码。 在第一次发布之前,我们需要在nexus maven存储库中创建文件夹结构吗?并添加maven-metadata.xml?如何生成*.pom.sha和*