1. ホーム
  2. java

コンパイラエラー "必要なライブラリのアーカイブを読み取れませんでした" - Spring Tool Suite

2023-08-10 04:35:11

質問

Spring Tool Suite 2.8.1 と m2E 1.01 を使って開発環境を構築しているところです。

私が知る限り、これはMavenプロジェクト(私の最初の)であるので、私のMaven POMは(m2Eスマートと一緒に)私のプロジェクトのビルド構成と依存関係を指示している。

私が知りたいのは、なぜ私の IDE が Java Build Problems を表示し、"Archive required for library library/path/somejar.jar と表示されます。 cannot be read or is not a valid zip file" と表示されるのはなぜですか?

すべてのエラーは、親ポムで除外した commons-logging:1.1.1 に関連するものでした。これは、spring-context-support:3.0.5 を介して移行する依存関係でした。私はビルドからそのライブラリを除外し、今ではエラーはspring-context-supportライブラリに関連するものです。

説明のためにスクリーンショットを添付しました。

どのように解決するのですか?

確かにIDEはローカルリポジトリをキャッシュすることが多いです(Eclipseも似たようなことをしていて、Eclipseを再起動する必要があります)。

遭遇するかもしれない 1 つの醜い maven の動作は、実際にインストールする前に依存関係を宣言した場合、maven は不足している依存関係の空のバージョン (メタデータはあるが jar がないフォルダー) を作成し、手動で .m2 リポジトリを掃除しなければならないことです。

第三に、インストールされたアーカイブ (jar...) は破損する可能性があります。そのため、任意のアーカイブ ツール (7zip...) で開いてテストし、アーカイブが破損している場合はフォルダー全体を削除してください。