[解決済み] Mavenの未使用/未宣言の依存関係とは何ですか?どうすればいいの?
質問
メイブン
dependency:analyze
は、私のプロジェクトの依存関係について不平を言う。どのように未使用と未宣言が判断されるのでしょうか?それらについてどうすればよいのでしょうか?
例
$ mvn dependency:analyze
...
[WARNING] Used undeclared dependencies found:
[WARNING] org.slf4j:slf4j-api:jar:1.5.0:provided
[WARNING] commons-logging:commons-logging:jar:1.1.1:compile
[WARNING] commons-dbutils:commons-dbutils:jar:1.1-osgi:provided
[WARNING] org.codehaus.jackson:jackson-core-asl:jar:1.6.1:compile
...
[WARNING] Unused declared dependencies found:
[WARNING] commons-cli:commons-cli:jar:1.0:compile
[WARNING] org.mortbay.jetty:servlet-api:jar:2.5-20081211:test
[WARNING] org.apache.httpcomponents:httpclient:jar:4.0-alpha4:compile
[WARNING] commons-collections:commons-collections:jar:3.2:provided
[WARNING] javax.mail:mail:jar:1.4:provided
注 これらの依存関係の多くは私のランタイムコンテナで使用されており、異なるバージョンでクラスパスに同じライブラリが2回あることを避けるために、それらを提供されるものとして宣言しました。
どのように解決するのですか?
Mavenがどのように判断しているかは不明です。これによって報告されたすべての項目に対応する必要はありませんが、この情報は適宜使用することができます。
未宣言の依存関係を使用 は、必要であるが、あなたのプロジェクトで依存関係として明示的に宣言されていないものです。しかし、あなたのプロジェクトの他の依存関係の推移的依存関係のおかげで、それらは利用可能です。 これらの依存関係を明示的に宣言するのは良いアイデアです。これにより、これらの依存関係のバージョンを制御することもできます (おそらくランタイムによって提供されるバージョンと一致させることができます)。
に関しては
未使用の宣言済み依存関係
については、削除するのがよいでしょう。 なぜ不必要な依存関係をプロジェクトに追加するのでしょうか? しかし、Transitivityは、おそらくランタイムのバージョンと競合して、これらをいずれにせよ持ち込むことができます。この場合、それらを指定する必要があります - 基本的には
version
.
ちなみに
mvn dependency:tree
は
依存関係ツリー
を表示します。これにより、それぞれの依存関係がプロジェクトにどのように適合するかをよりよく理解することができます。
関連
-
が 'X-Frame-Options' を 'sameorigin' に設定したため、フレーム内に存在する。
-
Java Notes 005_この行に複数のマーカーがある - キーを変数に解決できない - シンタックスエラー、ins
-
コンストラクタDate()が未定義である問題
-
Web Project JavaでPropertiesファイルを読み込むと、「指定されたファイルがシステムで見つかりません」というソリューションが表示されます。
-
春ブート複数のデータソースの管理(atomikos)同じサーバーホスト上の複数のプロジェクトを開始する複数のJava - jarのエラーソリューション
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] Mavenスナップショットとは何か、なぜそれが必要なのか?
-
[解決済み] MavenにおけるdependencyManagementとdependenciesの相違点
-
[解決済み] mavenで単一のテストメソッドを実行する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スレッド "main "での例外 java.util.NoSuchElementException in Java 問題解決済み
-
SLF4J: クラス・パスに複数のSLF4Jバインディングが含まれています。
-
ブートレイヤーの初期化中にエラーが発生しました java.lang.module.FindException: モジュールが見つかりません
-
StringBuilderが投げるArrayIndexOutOfBoundsExceptionの探索
-
Uncaught ReferenceError: は定義されていません。
-
Junitのユニットテストはjava.lang.Testを報告します。
-
Junitのユニットテストエラー
-
Java:未解決コンパイル問題の解決方法
-
switch case文のcaseの後の列挙定数は列挙型なし
-
swagger2 モデルが表示されない モデルが見つからない @ApiModel アノテーションが表示されない問題