Maven 本地存储库代理外部



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

所以我在我的 Archiva 配置中有代理,用于 codehaus、sonatype(几个)、基本的 Central、Cloudera 用于 Hadoop 的东西等;但我找不到一种配置,可以阻止我的构建尝试直接进入外部源(他们无法访问),但通过使用代理来满足我的 Archiva 中还没有的东西。

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

您需要

在每个构建环境中设置 maven 设置以指向您的存档实例。
例如在$user.home/.m2/settings中.xml

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

我以前没有使用过Archiva,但我已经成功地用Nexus做到了这一点。

切换到联结会更可取。

我附上了一个设置.xml可用于结点....

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <localRepository>F:m2repository</localRepository>
    <pluginGroups>
                <pluginGroup>org.codehaus.sonar</pluginGroup>
        </pluginGroups>

    <proxies>
        <proxy>
            <active>true</active>
            <protocol>http</protocol>
            <host>your-host-id</host>
            <port>8080</port>
        </proxy>
    </proxies>
    <mirrors>
    <mirror>
        <id>nexus</id>
        <mirrorOf>*,!sonar</mirrorOf>
        <url>http://nexus-repo-url/content/groups/public</url>
        <name>Nexus</name>
    </mirror>
    </mirrors>
    <profiles>
        <profile>
            <id>NexusProfile</id>
            <activation>
                <activeByDefault>true</activeByDefault>
                <jdk>1.5</jdk>
            </activation>
            <repositories>
                <repository>
                  <snapshots>
                    <enabled>true</enabled>
                  </snapshots>
                  <releases>
                    <enabled>true</enabled>
                  </releases>
                  <id>nexus</id>
                  <name>default-repos</name>
                  <url>http://nexus-repo-url/content/groups/default-repos</url>
                </repository>
                <repository>
                  <snapshots>
                    <enabled>true</enabled>
                  </snapshots>
                  <releases>
                    <enabled>true</enabled>
                  </releases>
                  <id>nexus</id>
                  <name>default-repos</name>
                  <url>http://nexus-repo-url/content/groups/default-repos</url>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                  <snapshots>
                    <enabled>true</enabled>
                  </snapshots>
                  <releases>
                    <enabled>true</enabled>
                  </releases>
                  <id>nexus</id>
                  <name>default-repos</name>
                  <url>http://nexus-repo-url/content/groups/default-repos</url>
                </pluginRepository>
                <pluginRepository>
                  <snapshots>
                    <enabled>true</enabled>
                  </snapshots>
                  <releases>
                    <enabled>true</enabled>
                  </releases>
                  <id>nexus</id>
                  <name>default-repos</name>
                  <url>http://nexus-repo-url/content/groups/default-repos</url>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>NexusProfile</activeProfile>
    </activeProfiles>

    <servers>
        <server>
            <id>nexus</id>
            <username>anonymous</username>
            <password>password</password>
        </server>
    </servers>
</settings>

我建议您阅读 http://maven.apache.org/guides/mini/guide-mirror-settings.html 来配置设置。我建议您使用性能更高的Archiva 1.4版本系列。我们目前正在重写 ui 看到一个真实的示例 https://archiva-repository.apache.org/archiva/index.html?request_lang=en。如果您想要自己的版本,则必须从此处下载快照:https://builds.apache.org/view/A-F/view/Archiva/job/archiva-all-maven-3.x-jdk-1.6/

最新更新