java – mavenの依存関係を自動的に最適化することは可能ですか?

私は、最適化されていない依存関係を持つ約40のサブプロジェクトからなる大きなプロジェクトに取り組んでいます。使用されていないが宣言されていない依存関係も使用されていない宣言された依存関係があります。 2番目のケースは、他の依存関係を介して依存関係が追加された場合に発生する可能性があります。

余分なものを削除し、必要な依存関係を追加したいです。私はmvn依存関係を実行しました:分析して、私が今修正しなければならない警告の長いリストを得ました。

私はpven.xmlファイルを自動的に更新することができるMavenプラグインか他のユーティリティがあるかどうか疑問に思います。私は手動でそれをやろうとしました、しかしそれは多くの時間がかかります。タスクを完了するのに数日のコピー/貼り付けがかかるようです。

最悪の場合、私は自分でそのようなスクリプトを書くことができますが、おそらく準備ができているものは存在しますか?

mvn dependency:analyzeが依存関係の警告を報告する方法は次のとおりです。

[WARNING] Used undeclared dependencies found:
[WARNING]    org.apache.httpcomponents:httpcore:jar:4.1:compile
[WARNING] Unused declared dependencies found:
[WARNING]    commons-lang:commons-lang:jar:2.4:compile
[WARNING]    org.json:json:jar:20090211:compile
ベストアンサー
私は言わないでしょう:非常に最適化されていない依存関係で。それは単に誰かが自分の仕事をうまくやっていない、使われていない依存関係を定義することは誰かがビルドツールが何であるか、そしてどのように動いているか理解していないことを示します。これは、未使用のインポートが多数含まれているJavaファイルと比較できます。 Javaソースでの未使用のインポートの場合、これは単純にIDEで処理できますが、Mavenの依存関係では、すでに述べたような単純な方法は存在しません。あなたは依存関係の結果を出力しようと試みることができます(その目的のためのオプションが存在します)スクリプトに分析して、その後依存関係を片付けた後に結果として生じるビルドをテストしてください。

実行するのは良い考えかもしれません

mvn dependency:analyze -DscriptableOutput=true 

これは、出力から非常に単純に抽出できる出力を生成し、versions-maven-pluginの入力として使用するなどのさらなる処理に使用できます(事前変換あり)。

転載記事の出典を記入してください: java – mavenの依存関係を自動的に最適化することは可能ですか? - コードログ