1

リポジトリの1つが予想される404ではなくpomとjarの両方に対して301ページを返すため、私のビルドは新しいマシンで壊れています。依存関係はasm:asm:1.3です。セントラルにありますが、Mavenはそこを探していないようです。

ビルドログのサンプルは次のとおりです。

Downloading: http://download.java.net/maven/2/asm/asm/3.1/asm-3.1.pom
[INFO] Unable to find resource 'asm:asm:pom:3.1' in repository java.net2 (http://download.java.net/maven/2)
Downloading: http://repository.primefaces.org/asm/asm/3.1/asm-3.1.pom
[INFO] Unable to find resource 'asm:asm:pom:3.1' in repository prime-repo (http://repository.primefaces.org)
Downloading: https://repository.jboss.org/nexus/content/groups/public-jboss//asm/asm/3.1/asm-3.1.pom
[INFO] Unable to find resource 'asm:asm:pom:3.1' in repository jboss-public-repository-group (https://repository.jboss.org/nexus/content/groups/public-jboss/)
Downloading: http://maven.thebuzzmedia.com/asm/asm/3.1/asm-3.1.pom
[INFO] Unable to find resource 'asm:asm:pom:3.1' in repository The Buzz Media Maven Repository (http://maven.thebuzzmedia.com)
Downloading: http://maven.glassfish.org/content/groups/glassfish/asm/asm/3.1/asm-3.1.pom
185b downloaded  (asm-3.1.pom)
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '6c9fd3d150b8a5f0ca676f49b8ed603793cabebb'; remote = '<html>
<head><title>301' - RETRYING
Downloading: http://maven.glassfish.org/content/groups/glassfish/asm/asm/3.1/asm-3.1.pom
185b downloaded  (asm-3.1.pom)
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '6c9fd3d150b8a5f0ca676f49b8ed603793cabebb'; remote = '<html>
<head><title>301' - IGNORING
[WARNING] POM for 'asm:asm:pom:3.1:compile' is invalid.

これが私のpom.xmlのリポジトリセクションです:

<repositories>
    <repository>
        <id>central</id>
        <name>Central Maven Repository</name>
        <url>http://repo1.maven.org/maven2</url>
        <layout>default</layout>
    </repository>
    <repository>
        <id>java.net2</id>
        <name>Repository hosting the jee6 artifacts</name>
        <url>http://download.java.net/maven/2</url>
    </repository>
    <repository>
        <id>prime-repo</id>
        <name>Prime Technology Maven Repository</name>
        <url>http://repository.primefaces.org</url>
        <layout>default</layout>
    </repository>
    <repository>
        <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>
        <id>jboss-public-repository-group</id>
        <layout>default</layout>
        <name>JBoss Public Maven Repository Group</name>
    </repository>
    <repository>
        <id>The Buzz Media Maven Repository</id>
        <url>http://maven.thebuzzmedia.com</url>
    </repository>
</repositories>

settings.xmlファイルがありません。

私の知る限り、jersey-server-1.3への依存はビルドを壊しています。そのpom.xmlは、現在存在しないリポジトリを指定しますhttp://maven.glassfish.org/content/groups/glassfish。しかし、私が指定した他のすべてのリポジトリは、私が指定した順序でチェックされています。つまり、中央以外のすべてです。Mavenに中央リポジトリを最初にチェックさせるにはどうすればよいですか?または、少なくとも依存関係のpomsで指定されたリポジトリを使用する前に、Centralをチェックさせますか?

4

1 に答える 1

0

私ができる最初の推奨事項は、 pom のリポジトリに関する sonatype の記事を読むことです。さらに、http コード 301 は永久に移動することを意味します。これは、リポジトリの 1 つに使用している URL が古くなっているように見えるか、別のものであるべきであることを意味します。定義された Glassfish リポジトリが間違っているようです。https 接続である必要があります。

さらに、リポジトリマネージャーの使用をお勧めします。

1 つの質問が頭に浮かびます: なぜリポジトリ リストで Maven Central を定義しているのですか? Maven 自体で既に定義されているためです... ところで: リポジトリの定義は、pom.xml ではなく、settings.xml に配置する必要があります。リポジトリマネージャー。

リポジトリ アクセスの順序を定義するには、 settings.xml での定義に基づいて逆の順序で実行します。これをより適切に制御するには、リポジトリ マネージャーを使用します。

1 つの重要な質問: Maven 2.2.1 の代わりに Maven 3.0.X を使用しないのはなぜですか?

于 2012-04-09T16:44:59.610 に答える