ヘッダーにあるように、Mavenには、クラスファイルがモジュールにロードされるjarファイルを知る機会があるのではないかと思います。依存関係:ツリーと同じですが、特定のクラスファイルを持つjarファイルが必要です。ありがとう!
私の知る限り、依存関係でクラス宣言を検索する特定のMavenプラグイン(3.0以降)はありません。しかし、私はあなたのニーズを理解し、次の解決策を提供すると信じています。
重複する宣言の検索
mvn dependency:analyze-duplicate -DcheckDuplicateClasses
Eclipse内に含まれているJARを検索する
CTRL+ SHIFT+Tを使用して、[タイプを開く]ダイアログを表示します。クラス名の一部または全体を入力すると、ビルドクラスパスに含まれているJARのリストが表示されます。
IDEなしでJARを含むものを見つける
IDEのないシステム(CIサーバーなど)をチェックするためによりプログラム的な制御が必要な場合は、次のスニペットを使用して、特定のクラスまたは特定の名前パターンを含むJARファイルを一覧表示できます。このアプローチでは、Mavenの依存関係プラグインを使用して、一時ディレクトリにすべての依存関係を収集し、簡単に検索できるようにします。
UnixまたはGitBashシステムの場合
mvn clean dependency:copy-dependencies -DoutputDirectory=target/temp
for j in target/temp/*.jar; do jar -tf $j | grep SomeClass && echo $j; done
cmd
シェル経由のWindowsの場合
mvn clean dependency:copy-dependencies -DoutputDirectory=target/temp
for /R %G in (target\temp\*.jar) do @jar -tf "%G" | find "SomeClass" && echo %G
いずれの場合も、一致するエントリの完全なパッケージとクラス名が表示され、その後に含まれているJARファイル名が表示されます。grep
また、find
検索パラメータをさらに絞り込んで、必要に応じて一致を制限することもできますSomeClass.class
。
お役に立てれば。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加