コンパイラエラー「必要なライブラリのアーカイブは読み取れなかった」 - スプリングツールスイート
-
28-10-2019 - |
質問
開発環境の構成を開始しており、M2E 1.01とともにSpring Tool Suite 2.8.1を使用しています。
私が知る限り、これはMavenプロジェクト(私の最初)なので、私のMaven POMは(M2Eスマートとともに)私のプロジェクトの構成と依存関係を決定しています。
私が知りたいのは、私のIDEが「ライブラリに必要なアーカイブを読むJavaビルドの問題を表示している理由です。 ライブラリ/パス/somejar.jar 読み取れない、または有効なzipファイルではない「.m2リポジトリの瓶が表示されたとき?
コモンズログに関係するすべてのエラー:1.1.1は、親pomで除外しました。これは、Spring-Context-Support:3.0.5を介した一時的な依存関係でした。私はそのライブラリを自分のビルドから除外し、現在、エラーはSpring-Context-Supportライブラリに関係しています。
説明するためにスクリーンショットを添付しました。
解決
実際、Idesはしばしばローカルリポジトリをキャッシュします(Eclipseは同様のことを行い、Eclipseを再起動する必要があります)。
あなたが遭遇するかもしれない醜いmaven動作の1つは、実際にそれをインストールする前に依存関係を宣言すると、Mavenが欠落している依存関係の空のバージョン(メタデータを備えたフォルダーではないが瓶がない)を作成し、.M2リポジトリを手動でクリーニングする必要があることです。 。
第三に、インストールされているアーカイブ(jar ...)が破損する可能性があるため、アーカイブツール(7zip ...)で開いてテストし、アーカイブが破損している場合はフォルダー全体を削除してください。
他のヒント
私の場合、私はすべてのファイルを手動で削除する必要がありました .m2\repository
フォルダーを開いてから、コマンドプロンプトを開いて実行します mvn -install
私のプロジェクトディレクトリにコマンド。
私はEclipseをIDEとして使用していましたが、まったく同じエラーが発生していました。プロジェクト - > maven->更新プロジェクトをしなければなりませんでした。 「オフライン」espを除く以下のすべてのチェックボックスを選択します。 1つの「スナップショット/リリースのフォースアップデート」と[OK]をクリックします。プロジェクトのためのクリーンビルドを再び行いました。
ローカル.M2リポジトリから破損したファイルを削除します Ctrl+F5 (Maven Projectを更新)Eclipse/Sts。これらのファイルをダウンロードしてインストールします。
これは私のために働いた。
- 日食を閉じます
- 削除./M2/Repository
- Eclipseを開き、すべての瓶を自動的にダウンロードします
- まだ問題が残っている場合は、右クリック> maven>更新プロジェクト...>「スナップショット/リリースの強制更新」を確認してください
グーグルの場合:
私の場合、私は誤っていました ビルドパスにJavaクラスを手動で追加しました 日食の周りを突っている間。 '構成ビルドパス...>ライブラリを見ることで、犯人クラスを削除しましたが、
- JREシステムライブラリ
- Maven依存関係
そして、何も不平を言っていません。
以下の手順により私の問題が解決されました。
./M2/Repositoryフォルダーに移動します。
それぞれのアーカイブエラーフォルダーに移動します。
zipファイルが存在することを確認します。
エラー名フォルダーを削除します。
次に、Eclipse Projectに来てください - 右クリック-Maven->プロジェクトを更新してください。
上のトリックは私のために働きます。
私の場合、提案されたすべてのヒントを試しましたが、エラーは残りました。より最近のバージョンで変更を解決し、pom.xmlでそれを書いています。この後、すべてが大丈夫になります。
ローカルMavenリポジトリを削除しました。次に、プロジェクトを右クリックします - > maven->更新プロジェクト...関係するすべてのプロジェクトを選択し、[OK]をクリックします。
ビルドパスからメイブン依存症を削除します
私はこの問題に直面しました。私は「必要なライブラリのアーカイブを持っていました。スプリングブートデブツールは読み取れない、または有効なzipファイルではありません」と解決策は次のようでした。 devtools)。 2-日食。 3-これらの依存関係の.m2ファイルで(名前で)検索します。 4-これらのフォルダーを削除します。 5-日食を再開し、Mavenに依存関係を再構築させます。
OK、私はMac上のSTSで同じ問題を抱えており、リポジトリフォルダー内のすべてのファイルを削除し、STS IDEからプロジェクトをクリックしてからMaven-> Update Projectから解決しました。すべての依存関係をダウンロードするために数分を与え、問題は解決します。
私は同じ問題に直面しています。ローカルリポジトリを削除し、IDを再起動しました。うまくいきました。
Indigo SR2でこの問題が発生しました。 ClassPath(ビルドパス)から余分な瓶を取り外した後、それがポップアップしました。 Eclipseを再起動することは役に立ちませんでした。ジャーをビルドパスに追加しました...エラーが消えました。もう一度瓶を削除しましたが、今回は別の苦情から免れました。
上記のソリューションはどれも私の問題を助けませんでした。すべてのファイルを{projectworkspace}/。メタデータフォルダーと{location}/。M2フォルダーで削除し、Eclipseがすべてのものを再びダウンロードできるようにすることで解決しました。これが誰かを助けることを願っています、乾杯!
「必要なライブラリのアーカイブを読むことができなかった」というエラーが発生したとき、プロジェクトのビルドパスから問題の瓶を削除し、「外部ジャーを追加」して再び追加してください(ナビゲートすることで解決しました。それらが入っていたのと同じフォルダーに)。 「jarsの追加」ボタンを使用することは機能しませんが、エラーはまだそこにあります。しかし、「外部ジャーの追加」を使用すると機能しました。
これは、Webアプリライブラリにspring-licence.txtファイルが追加されたためかもしれません。
同様の問題があり、そのテキストファイルを削除した後に解決しました。ライブラリでは、JARファイルのみが期待されます。
私は自分のプロジェクトと同じ問題に直面していました。
私のプロジェクトはこのアーカイブを見つけることができませんでした: -
C:\Users\rakeshnarang\.m2\repository\org\hibernate\hibernate-core\5.3.7.Final
このディレクトリに行き、このフォルダーを削除しました。
Eclipseに戻り、Alt + F5をヒットしてプロジェクトを更新しました。
JARファイルが再びダウンロードされ、問題が解決しました。
これを試してみてください。
または、以下のコマンドも私のために機能しました:
mvn -s settings.xml eclipse:clean
mvn -s settings.xml eclipse:eclipse