私は多くのpom.xmlファイルを含む大きなプロジェクトに取り組んでおり、使用するすべてのライブラリを指定する必要があります。これは、pom.xmlファイルを再帰的に読み取り、groupId、artifactId、スコープ、およびバージョンを取得する必要があることを意味します。mvndependentity:treeをチェックアウトしましたが、読み取り可能な形式でファイルに出力する方法が見つかりません。私はappendOutputを見ましたが、cmdでそれを使用する方法の例を見ませんでした。Linuxでいくつかのソリューションが実行されているのを見ましたが、WindowsXPにしかアクセスできません。
7 に答える
これは、dependency:tree プラグインのコマンド ライン オプションで (少なくとも現在は) 実行できます。
試す:
mvn dependency:tree -Doutput=/path/to/file
「読み取り可能な」形式についてのみ尋ねましたが、さまざまなオプションを使用して -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 のコンソールも>
符号を使用して出力ストリームをファイルに転送しているようです。それで、これを試してみませんか?
おそらく、効果的なpom(ファイルを保存するためのいくつかのLinuxコマンドと組み合わせて)で十分な場合があります。
いつでもMinGW と MSYSdependency:tree
をインストールしてから、Windows で使用する Linux の例を使用できます。