5

私はJavaプロジェクトを処理するためにMavenを使用しています。インターネット接続は、リモートリポジトリから必要なライブラリをダウンロードするために最初のコンパイルでのみ必要であると思いましたが、コードをコンパイルするたびにいくつかのダウンロードメッセージが表示されます。次のようなメッセージ:

Downloading: http://repo.maven.apache.org/maven2/org/eclipse/core/resources/maven-metadata.xml
Downloading: http://repository.springsource.com/maven/bundles/external/org/eclipse/core/resources/maven-metadata.xml
Downloading: http://repository.springsource.com/maven/bundles/release/org/eclipse/core/resources/maven-metadata.xml
Downloading: https://oss.sonatype.org/content/repositories/snapshots/org/eclipse/core/resources/maven-metadata.xml

なぜそれが起こるのか、そしてどうすればそれを防ぐことができますか?

4

3 に答える 3

5

これは通常、アーティファクトにバージョン情報が指定されていない場合に発生します。

<groupId>maven-metadata.xmlは、依存関係で使用可能なさまざまなバージョンに関する、<artifactId>およびバージョン情報 を含むファイルです。

アーティファクトのバージョンがpom.xmlで指定されていない場合、mavenはこのメタデータファイルをダウンロードして、ローカルリポジトリに最新バージョンが含まれているかどうかを確認します。

したがって、将来他のjarファイルの更新プロセスに影響を与える可能性のある更新ポリシーを変更する代わりに、pom.xmlファイルでアーティファクトのバージョン情報を指定することにより、このダウンロードを回避できます。

于 2012-08-13T12:50:15.297 に答える
4

最も重要なことは、リポジトリマネージャーの使用を開始することです。さらに、リモートリポジトリをチェックするように構成できるsettings.xmlファイルの構成をチェックします(更新ポリシー)。

于 2012-08-09T14:37:10.423 に答える
1

1)ローカルリポジトリにこれらのアーティファクトが実際にあることを確認します。2)リポジトリの構成を確認して、リリースのダウンロードにのみリポジトリを使用するようにします。

<project>
    ...
    <repositories>
        <repository>
            <id>my-repo1</id>
            <name>your custom repo</name>
            <url>http://jarsm2.dyndns.dk</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    ...
</project>

3)-oオプションを使用すると、mavenにローカルリポジトリのみを使用するように強制できます。

mvn -o clean package
于 2012-08-09T14:37:35.093 に答える