无法使用Apache Archiva作为镜像

时间:2010-09-24 13:46:08

标签: maven-2 repository archiva

我认为这应该是一项简单的任务,但我无法完成它。

我已经设置了一个archiva存储库:

  • 2内部Maven1回购(旧项目)
  • 1内部Maven2回购
  • 7远程回购(central,java.net,jboss.org等)

对于每个内部仓库,我已经为每个远程仓库创建了代理连接。

我已经在我的settings.xml文件中添加了一个新镜像,如archiva文档中所述:

<mirror>
  <id>archiva.default</id>
  <url>http://repo.mycompany.com:8080/archiva/repository/internal/</url>
  <mirrorOf>*</mirrorOf>
</mirror>

当我尝试使用某个远程存储库中的一个依赖项构建一个简单项目时,不会下载任何工件。为什么呢?!?

感谢您的帮助。

2 个答案:

答案 0 :(得分:5)

Archiva不会为任何特殊角色分配存储库。您从Maven(特别是从您的设置internal)向特定托管存储库发出请求,它将提供在那里的内容,或者通过代理连接器连接的远程存储库代理它。默认情况下,这只是中央 - 添加新的远程存储库在通过代理连接器连接到托管存储库之前无效。

您可能要做的是将内部存储库上的代理连接器添加到相关远程存储库中。考虑设置白名单,使其更有效。

您可能还想设置一个存储库组,该存储库组跨越所有托管存储库(maven 1和maven 2),以便从单个URL中使用。

答案 1 :(得分:3)

我与Archiva 2有完全相同的问题,对我来说解决方案是给Guest用户提供“Global Repository Observer”角色。