多くの依存関係を持つ Maven で構築された Java アプリケーションがあります。私のテストケースを実行すると、問題なく合格することもあれば、互換性のないクラスの組み合わせが原因で失敗することもあります。そのため、クラスパスにランダムに取得されるクラスが2回存在する必要があるようです。一方は大丈夫で、もう一方はそうではありません。
- クラスパスで互換性のないクラス/jarを見つけるにはどうすればよいですか?
- その互換性の罠に陥らないように Maven を使用する正しいアプローチは何ですか?
より良い解決策は、 maven-duplicate-finder-pluginを使用することだと思います。
注: 新しいバージョンはduplicate-finder-maven-pluginです。
このツールTattletaleを試してみることができます。
これは、もう 1 つのシンプルなオープン ソースの重複クラスパス ファインダ ツールです - Classpath Inspector
これにより、クラスパス内の重複クラスのかなり適切なレポートが得られます。
Maven dependency:tree を使用してプロジェクトの Maven 階層を確認し、 Maven 除外を使用して不要な jar を除外できます。