maven 本地存储库代理外部

标签 maven repository archiva

我正在支持一个组织中的 Archiva 内部存储库,其中某些构建环境无法访问开放互联网来获取依赖项。我想我可以将 Archiva 配置为所有外部内容的镜像(mirrorOf 设置为“external.*,!snapshots”的镜像)并使用代理进行设置,这样,如果我的某个构建需要 Archiva 中没有的内容,它将使用代理从我使用代理设置的外部源获取依赖项。之后,它将缓存在 Archiva 中,而不必从外部获取。

所以我的 Archiva 配置中有用于 codehaus、sonatype(几个)、基本 Central、Cloudera for Hadoop 等的代理;但我找不到一种配置可以阻止我的构建尝试直接访问外部源(它们无法访问),但又通过使用代理来满足我的 Archiva 中尚未存在的内容。

我这里缺少一些技巧配置吗?或者我是否需要切换到 Artifactory 或 Nexus 才能获得此类功能?

最佳答案

您需要在每个构建环境上设置 Maven 设置以指向您的 archiva 实例。
例如在 $user.home/.m2/settings.xml

<mirror>
  <id>InternalMirror</id>
  <mirrorOf>*</mirrorOf>
  <name>Internal Mirror.</name>
  <url>http://archivaserver/archivaPath/</url>
</mirror>

我以前没有使用过 Archiva,但我已经使用 Nexus 成功完成了此操作

关于maven 本地存储库代理外部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11144785/

相关文章:

java - Ant 的 <property> "prefix"属性的 Maven 对应项是什么?

java - 无法在 org.kie :kie-api:jar:6. 4.0.Final 处收集依赖项:

java - “Force update of snapshots/releases” - 这危险吗?

maven - 从 Apache Archiva 删除磁盘上的 Artifact

postgresql - 如何独立设置 Archiva 以使用 Postgres?

java - Maven EAR 项目分发用于多个应用程序服务器?

java - Serenity/Allure - 自动化测试运行两次

mercurial - 如何从 mercurial 存储库中 check out OpenJDK?

Git 错误 : src refspec master does not match any

maven - 将最新版本从存储库部署到 tomcat