私は多くのpom.xmlファイルを含む大きなプロジェクトに取り組んでおり、使用するすべてのライブラリを指定する必要があります。これは、pom.xmlファイルを再帰的に読み取り、groupId、artifactId、スコープ、およびバージョンを取得する必要があることを意味します。 mvndependency:treeをチェックアウトしましたが、読み取り可能な形式でファイルに出力する方法が見つかりません。 appendOutputを見ましたが、cmdでそれを使用する方法の例を見ませんでした。 Linuxでいくつかのソリューションを実行しましたが、Windows XPにしかアクセスできません。
これは、(少なくとも今は)dependency:treeプラグインのコマンドラインオプションで実行できます。
試してください:
mvn dependency:tree -Doutput=/path/to/file
リファレンス: Maven Dependency Plugin Page
「読み取り可能な」形式についてのみ質問しましたが、さまざまなオプションで-DoutputTypeパラメーターを渡すこともできます。また、インストールしたバージョンに注意してください。次の警告が表示されます。
[WARNING] The parameter output is deprecated. Use outputFile instead.
したがって、-DoutputFile =/path/to/fileで試してみてください
また、-DoutputTypeパラメータを取得してデフォルトのテキスト以外のものを提供することはできませんでしたが、それをいじる機会がありませんでした。 YMMV。
追加する
<plugin>
<groupId>org.Apache.servicemix.tooling</groupId>
<artifactId>depends-maven-plugin</artifactId>
</plugin>
プラグインはclasses/META-INF/maven/dependencies.properties
プロジェクトの依存関係を簡単に解析できるファイル。
生成される出力の例:
# Project dependencies generated by the Apache ServiceMix Maven Plugin
# Generated at: Mon Oct 10 17:43:00 CEST 2011
groupId = my.group.name
artifactId = my.artifact.name
version = 0.0.1-SNAPSHOT
my.group.name/my.artifact.name/version = 0.0.1-SNAPSHOT
# dependencies
junit/junit/version = 4.8
junit/junit/type = jar
junit/junit/scope = test
org.easymock/easymock/version = 2.4
org.easymock/easymock/type = jar
org.easymock/easymock/scope = test
GNU/Linuxでは、mvn dependency:tree > myFile
。ただし、Windowsのみに制限されている場合は、コマンドの出力をストリーミングするためのWindowsの構文を探します。
このサイト (Googleの最高の結果)によると、Windowsのコンソールでも>
は、出力ストリームをファイルに転送するために署名します。これを試してみませんか?
同じレポジトリ/プロジェクトの下に複数のモジュールがあり、1つのファイルにすべてのモジュールの依存関係が必要な場合は、ビルドを別のものと比較して何かが変更されたかどうかを確認することができます
$project_dir> mvn dependency:tree -DoutputFile=<absolute_path_to_file> -DappendOutput=true
例えば.
$project_dir> mvn dependency:tree -DoutputFile=`pwd`/mvn_dependency_tree.txt -DappendOutput=true
https://maven.Apache.org/plugins/maven-dependency-plugin/tree-mojo.html で利用可能な他のオプションを参照してください
おそらく、 effective-pom (ファイルを保存するためのいくつかのLinuxコマンドと組み合わせて)で十分です。
常に MinGWおよびMSYS をインストールしてから、Windowsでdependency:tree
を使用してLinuxの例を使用できます。