2

一部のビルド環境がオープン インターネットにアクセスして依存関係を取得できない組織で Archiva 内部リポジトリをサポートしています。Archiva をすべての外部のミラー (mirrorOf を「external.*,!snapshots」に設定したミラー) として構成し、プロキシを設定して、ビルドの 1 つが Archiva にないものを要求した場合に、プロキシを使用して、プロキシで設定した外部ソースから依存関係を取得します。その後、アーカイブにキャッシュされ、外部から取得する必要はありません。

したがって、codehaus、sonatype (いくつか)、基本的な Central、Hadoop 用の Cloudera などの Archiva 構成にプロキシがあります。しかし、ビルドが外部ソースに直接アクセスしようとするのを防ぎ (アクセスできない)、プロキシを使用してアーカイブにまだないものを満たす構成を見つけることができません。

ここで見逃しているトリック設定はありますか? それとも、この種の機能を利用するには、Artifactory または Nexus に切り替える必要がありますか?

4

3 に答える 3

3

アーカイブ インスタンスを指すように、各ビルド環境で Maven 設定を設定する必要があります。
例: $user.home/.m2/settings.xml

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

以前に Archiva を使用したことはありませんが、Nexus でこれを成功させました

于 2012-06-21T18:56:31.150 に答える
1

設定の構成については、 http://maven.apache.org/guides/mini/guide-mirror-settings.htmlを読むことをお勧めします。また、パフォーマンスの高いArchiva1.4バージョンシリーズを使用することをお勧めします。現在、UIを書き直しています。実際のサンプルhttps://archiva-repository.apache.org/archiva/index.html?request_lang=enを参照してください。独自のバージョンが必要な場合は、ここからスナップショットをダウンロードする必要があります:https ://builds.apache.org/view/AF/view/Archiva/job/archiva-all-maven-3.x-jdk-1.6/

于 2012-06-22T20:54:02.043 に答える
1

ネクサスに切り替える方がより好ましいでしょう。

nexusに使用できるsettings.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:\m2\repository</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>
于 2012-06-22T09:44:49.500 に答える