如何为Maven设置Archiva内部+快照存储库?

Nag*_*gyI 16 java archiva maven

我们正在尝试将Archiva用作中央和其他外部存储库的Maven代理,并将其作为我们的工件的快照存储,这些工件由Hudson从SVN自动构建并安装到快照存储库.

我无法将我的Maven客户端设置为一起使用内部和快照存储库.我的项目有一些外部依赖项(如log4j),可以正确地从Archiva内部存储库下载.此外,我的项目依赖于一个自己的项目,该项目的工件已经构建并安装到快照存储库中.但是,如果我尝试构建项目,Maven无法找到我的快照工件.

我的配置文件原来是这个设置:

<mirror>
  <id>company-internal</id>
  <name>Company's Archiva - Internal Repository</name>
  <url>http://www.mycompany.hu/archiva/repository/internal</url>
  <mirrorOf>*</mirrorOf>
</mirror>
Run Code Online (Sandbox Code Playgroud)

然后我添加了以下内容:

<mirror>
 <id>company-snapshots</id>
 <name>Company Archiva - Snapshots Repository</name>
 <url>http://www.mycompany.hu/archiva/repository/snapshots</url>
 <mirrorOf>apache.snapshots</mirrorOf>
</mirror>
Run Code Online (Sandbox Code Playgroud)

但是,Maven不会尝试在构建时查找snaphot存储库.我做错了什么?顺便说一下,我并没有真正得到<mirrorOf>元素的目的.我试图在内部镜像设置中替换它,central但这仍然无法解决我的问题.

Rag*_*ram 18

经过一些试验和错误后,以下配置对我有用.在这里,我使用默认的archiva配置 - internal保存版本并snapshots仅保留内部快照.

本质上不同于关系,我们需要两个独立的<mirror><repository>声明-一个用于正常的文物和其他快照文物.

<mirrors>
    <mirror>
        <id>archiva</id>
        <mirrorOf>*</mirrorOf>
        <url>http://localhost:8080/archiva/repository/internal</url>
    </mirror>
    <mirror>
        <id>snapshots</id>
        <mirrorOf>snapshots</mirrorOf>
        <url>http://localhost:8080/archiva/repository/snapshots</url>
    </mirror>
</mirrors>
<profiles>
    <profile>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <repositories>
            <repository>
              <id>internal</id>
              <name>Archiva Managed Internal Repository</name>
              <url>http://localhost:8080/archiva/repository/internal/</url>
              <releases>
                <enabled>true</enabled>
              </releases>
              <snapshots>
                <enabled>false</enabled>
              </snapshots>
            </repository>
            <repository>
              <id>snapshots</id>
              <name>Archiva Managed Internal Repository</name>
              <url>http://localhost:8080/archiva/repository/snapshots/</url>
              <releases>
                <enabled>false</enabled>
              </releases>
              <snapshots>
                <enabled>true</enabled>
              </snapshots>
            </repository>
        </repositories>
    </profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)