web-dev-qa-db-ja.com

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

開発環境の構成を開始し、Spring Tool Suite 2.8.1とm2E 1.01を使用しています。

私の知る限り、これはMavenプロジェクト(最初)であるため、Maven POMが(m2E smartsとともに)プロジェクトのビルド構成と依存関係を決定します。

私が知りたいのは、私のIDEがJavaを表示する理由です。「ライブラリに必要なアーカイブlibrary/path/somejar.jar .m2リポジトリでjarを見ることができる場合、「読み取りまたは有効なZipファイルではありませんか?」

すべてのエラーはcommons-logging:1.1.1に関連しており、親ポンで除外しました。これは、spring-context-support:3.0.5を介した一時的な依存関係でした。そのライブラリをビルドから除外しましたが、エラーはspring-context-supportライブラリに関係しています。

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

Markers

72
totalcruise

実際、IDEはしばしばローカルリポジトリをキャッシュします(Eclipseは同様のことを行うため、Eclipseを再起動する必要があります)。

あなたが遭遇するかもしれないいmavenの動作の1つは、実際にインストールする前に依存関係を宣言すると、mavenは欠落している依存関係の空バージョン(メタデータはあるがjarはないフォルダー)を作成し、.m2リポジトリを手動でクリーンアップする必要があることです。

3番目に、インストールされたアーカイブ(jar ...)は破損する可能性があるため、アーカイブツール(7Zip ...)で開いてテストし、アーカイブが破損している場合はフォルダー全体を削除してください。

86
Samuel EUSTACHI

私の場合、.m2\repositoryフォルダー内のすべてのファイルを手動で削除してから、コマンドプロンプトを開き、プロジェクトディレクトリでmvn -installコマンドを実行する必要がありました。

16
intersum

EclipseをIDEとして使用していましたが、まったく同じエラーが発生していました。 Project-> Maven-> Update Projectを実行する必要がありました。 「オフライン」を除く、以下のすべてのチェックボックスを選択します。 1つは「スナップショット/リリースの強制更新」で、「OK」をクリックします。プロジェクトのクリーンビルドを再度行いました。

10
Gopal Bairwa

ローカルの.m2リポジトリから破損したファイルを削除し、 Ctrl+F5 (Mavenプロジェクトの更新)Eclipse/STSで。これらのファイルをダウンロードしてインストールします。

5
kolobok

これは私のために働いた。

  1. Eclipseを閉じる
  2. ./m2/repositoryを削除します
  3. Eclipseを開くと、すべてのjarが自動的にダウンロードされます
  4. それでも問題が解決しない場合は、プロジェクトを右クリック> Maven>プロジェクトを更新...>「スナップショット/リリースの強制更新」をチェック
3
Kaushal Dokania

Google社員向け:

私の場合、Eclipseをいじりながら誤ってビルドパスにJavaクラスを手動で追加していました。 「ビルドパスの構成...>ライブラリ」を見て、犯人クラスを削除しました。

  • JREシステムライブラリ
  • Mavenの依存関係

不満はありません。

2
HoppyKamper

以下の手順で問題を解決しました。

  1. ./m2/repositoryフォルダーに移動します。

  2. それぞれのアーカイブエラーフォルダーに移動します。

  3. Zipファイルが存在することを確認します。

  4. エラー名フォルダを削除します。

  5. 次に、Eclipse Project-右クリック-Maven-> Update Projectにアクセスします。

上記のトリックは私のために動作します。

2
Rajesh Om

私の場合、提案されたすべてのヒントを試しましたが、エラーは残りました。私はより新しいバージョンで変更し、pom.xmlでそれを書くことを解決しました。この後、すべてが大丈夫です。

1
enri

ローカルMavenリポジトリを削除しました。次に、プロジェクトを右クリック-> Maven->プロジェクトの更新...関係するすべてのプロジェクトを選択し、[OK]をクリックします。

1
PrestigeDev

ビルドパスからMavenの依存関係を削除する

0
basavaraj N

これは、Webアプリライブラリにspring-licence.txtファイルを追加したことが原因である可能性があります。

同様の問題があり、そのテキストファイルを削除して解決しました。ライブラリでは、jarファイルのみが想定されます。

あるいは、以下のコマンドも私のために働いた:

mvn -s settings.xml Eclipse:clean
mvn -s settings.xml Eclipse:eclipse
0
Snehal Masne

私はプロジェクトで同じ問題に直面していました。

私のプロジェクトはこのアーカイブを見つけることができませんでした:-

C:\Users\rakeshnarang\.m2\repository\org\hibernate\hibernate-core\5.3.7.Final

このディレクトリに移動して、このフォルダを削除しました。

Eclipseに戻り、ALT + F5を押してプロジェクトを更新します。

Jarファイルが再度ダウンロードされ、問題は解決しました。

これを試してみてください。

0
Rakesh Narang

私は同じ問題に直面しています。ローカルリポジトリを削除し、IDを再起動しました。それはうまくいきました。

0
Sameer Desai

OK、MacのSTSで同じ問題が発生しました。リポジトリフォルダー内のすべてのファイルを削除し、STS IDEからプロジェクトをクリックしてからMaven->プロジェクトを更新することで解決しました。すべての依存関係をダウンロードするのに数分かかると、問題は解決します。

0
AlketCecaj

上記の解決策はどれも私の問題を助けませんでした。 {projectworkspace} /。metadataフォルダーと{location} /。m2フォルダー内のすべてのファイルを削除し、Eclipseにすべてのファイルを再度ダウンロードさせることで解決しました。これが誰かの助けになることを願っています!

0
vibetribe93

「必要なライブラリのアーカイブを読み取れませんでした」というエラーが表示されたら、プロジェクトのビルドパスから問題のJARを削除し、[外部JARの追加]を使用して再度追加します(ナビゲーション彼らがいた同じフォルダに)。 [ジャーの追加]ボタンを使用しても機能せず、エラーは引き続き発生します。しかし、「Add External Jars」を使用するとうまくいきました。

0
Steve Stilson

Indigo SR2でこの問題が発生しました。クラスパス(ビルドパス)から余分なjarを削除した後、ポップアップしました。 Eclipseを再起動しても解決しませんでした。 jarをビルドパスに追加し直しました...エラーはなくなりました。瓶をもう一度取り除いたが、今回は別の苦情を免れた。

0
elder elder

私はこの問題に直面しました。 「必要なライブラリspring-boot-devtoolsのアーカイブが読み込めないか、有効なZipファイルではない」があり、解決策はそのようなものでした:-1-問題のある依存関係名を決定します(場合によってはspring-boot- devtools)。 2- Eclipseを閉じます。 3-これらの依存関係で.m2ファイルを(名前で)検索します。 4-これらのフォルダーを削除します。 5- Eclipseを再度開き、Mavenに依存関係を再構築させます。

0
Abdollah Sobhy