16

Maven をビルド ツールとして使用するプロジェクトに取り組んでいます。ツールのバージョン 2.2.1 を使用しています。最近、ある同僚が、チェックサム エラーのためにプロジェクトをビルドできなかったと言いました。これらのエラーが発生しなかったため、ローカル リポジトリを削除しました。案の定、次のビルド試行でもチェックサム エラーが発生しました。Archiva を中央リポジトリとして使用しているため、問題を解決するために jar を再度アップロードしました。運がない。これらのエラーの原因と解決方法を教えてください。

Downloading: http://artifactory/archiva/repository/maven-repo/org/springframework/ws/spring-
ws/1.5.8/spring-ws-1.5.8.pom
427b downloaded  (spring-ws-1.5.8.pom)
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '14d6901e3f251f5d312b9be726c75a
68f78045ac'; remote = '659bbed2c2dae12e9dbb65f8cad8fce1a1ea0845' - RETRYING
Downloading: http://artifactory/archiva/repository/maven-repo/org/springframework/ws/spring-
ws/1.5.8/spring-ws-1.5.8.pom
427b downloaded  (spring-ws-1.5.8.pom)
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '14d6901e3f251f5d312b9be726c75a
68f78045ac'; remote = '659bbed2c2dae12e9dbb65f8cad8fce1a1ea0845' - IGNORING
Downloading: http://artifactory/archiva/repository/maven-repo/com/xyz/abc/3.0.20090929_
attachment_fixes/abc-3.0.20090929_attachment_fixes.pom
435b downloaded  (abc-3.0.20090929_attachment_fixes.pom)
4

5 に答える 5

9

問題は、Maven クライアントがアーティファクトを中央リポジトリ (Archiva) にデプロイする方法にあるようです。HTTP を使用しており、特定の状況ではファイルのチェックサム署名が破損します。

ローカルの Maven 設定ファイルを次のように変更してみてください。~/.m2/settings.xml

<settings>
  <servers>
    <server>
      <id>my-server</id>
      <configuration>
        <httpConfiguration>
          <put>
            <params>
              <param>
                <name>http.authentication.preemptive</name>
                <value>%b,true</value>
              </param>
            </params>
          </put>
        </httpConfiguration>
      </configuration>
    </server>
  </servers>
</settings>

その変更を行った後、アーティファクトを中央リポジトリに再デプロイしmvn dependency:resolve、ローカル プロジェクトで実行してみて、チェックサム エラーが引き続き発生するかどうかを確認します。

この問題に関するスレッドは次のとおりです: http://jira.codehaus.org/browse/MNG-4301

于 2009-11-29T04:35:22.547 に答える
6

アーティファクト リゾルバーは (3.0.4 でも明らかに) スレッド セーフではありません。

http://jira.codehaus.org/browse/MNG-4742

ビルドしてみてください:

-Dmaven.artifact.threads=1

チェックサム エラー (log4j の場合) を表示するプロジェクトで 3.0.4 でこのオプションを使用してビルドすると、すべてのチェックサム エラーが表示されなくなります。

2.2.1 にも適用する必要があります。

(編集:「偽陰性を隠す」の下にこの回答を提出してください)

于 2012-05-30T21:34:24.660 に答える
4

プロキシ コネクタのチェックサムポリシーを「無視」ではなく「修正」に変更しようとしましたか?

于 2009-11-19T23:34:18.480 に答える