トラブルシューティングルート ここでは、他のいくつかの Web サイトで見つけた解決策に焦点を当てます
。
2. アイデアは Maven の不一致
ソリューションを使用します: アイデアのバージョンが Maven のバージョンと一致するかどうかを確認します.たとえば、2019 年にサポートされているアイデアの Maven の最大バージョンは 3.6.0 です.
3. SpringBoot マルチモジュール プロジェクトは、依存関係をロードせずに Maven サブプロジェクトを使用します。! !
上記の 2 つの方法を試したことがある場合は、私が遭遇したエラーが原因である可能性が高くなります。
最初に、pom 管理の依存関係ラベルの dependencyManagement を導入します。
<dependencyManagement>
<dependencies>
<dependency>
XXX
</dependency>
</dependencies>
</dependencyManagement>
DependencyManagement は依存関係を宣言するだけで、インポートを実装しないため、サブプロジェクトは宣言する必要がある依存関係を表示する必要があります。サブプロジェクトで依存関係が宣言されていない場合、親プロジェクトから継承されません; サブプロジェクトで依存関係が記述され、特定のバージョンが指定されていない場合のみ、アイテムは親プロジェクトから継承され、バージョンとscope どちらも親 pom から読み込まれます; さらに、サブプロジェクトでバージョン番号が指定されている場合、サブプロジェクトで指定されている jar バージョンが使用されます。
ウェアハウスから依存関係をダウンロードせずに依存関係を更新するために、このコード ブロックでアイデアの maven Reimport を参照しましたか?
ここでの参照は実際には依存関係をロードしません. この依存関係のバージョンは実際にはここで宣言されています. 依存関係への実際の参照はないのでダウンロードされません. もちろん, パッケージを手動でインポートしてもロードされません.
依存バージョンの pom 宣言バージョンを最初に管理する必要があるのは正しいです。
次に、この依存関係を実際に使用する必要があるサブプロジェクト Pom で参照して、サブプロジェクトが依存関係をロードするようにします。
もちろん、この方法で解決できるのは、dependencyManagement タグが原因で依存関係が読み込まれないという問題だけ
ですが、このエラーのほとんどは、ダイレクト クローン オープン ソース プロジェクトがシステム アーキテクチャの依存関係管理に精通しておらず、dependencyManagement タグを無視しているために発生します。
このエラーを2日間チェックしましたが、本当にこのラベルにまったく気付かず、アイデア版からMaven版に変えてみたら、
バカ泣きしました。