0

Mavenリポジトリに依存関係のあるgradleを使用してコンパイルするプロジェクトがあります。

何ヶ月も動作していますが、新しいマシンをセットアップするときに、依存関係ファイルへのアクセス エラーでコンパイルできません。

[ant:javac] error: error reading /Users/rayj/.gradle/caches/artifacts-4/com.google.guava/guava/c12498cf18507aa6433a94eb7d3e77d5/jars/guava-11.0.2.jar; cannot read zip file
I was able to reproduce on another machine by removing my gradle cache ("~/.gradle/caches/artifacts-4/").

「破損した」jar ファイルは、「破損していない」jar ファイルとは異なる動作をすることがわかりました。「破損していない」jar ファイルの場合は、名前を「.zip」に変更し、zip を抽出してファイルの内容を確認できます (予想どおり)。「破損した」jar ファイルの場合、名前を「.zip」に変更して zip を抽出すると、別の jar ファイルが出力されます (予期しない)。名前を変更/再度抽出すると、ファイルの内容として適切に抽出されます(予想)。

次の方法で、この問題を手動で回避できます。

for each corrupt jar file { 
  rename to .jar to .zip and extract to create a new jar //this turns a corrupt jar into a non-corrupt jar)
}

これは、問題が「破損」している jar ファイルにのみ関連していることを示唆しています。

これは機能しますが、自動ビルドにとっては苦痛な解決策です =)

この問題の原因と、根本的な問題のトラブルシューティング方法に関するガイダンスを探しています。

4

1 に答える 1

1

上記の@peter-niederwieserが示唆したように、これはGradleをアップグレードすることで解決されました! 簡単です。

于 2012-07-04T13:55:03.200 に答える