<plugin>
セクション内で指定された依存関係に対してdependency:unpack-dependencies
を実行するにはどうすればよいですか?プラグイン依存関係のMavenアンパック依存関係
実行可能ファイルとその他のものを含む3つのパッケージがあります。parent
とchild
とconsumer
としましょう。 child
は、parent
に依存します。コンシューマを構築するには、child
とそのすべての依存関係(つまりparent
)を取得し、内容を展開して何かをする必要があります。
私が今持っていることは一種の、作品:child
への依存性が<project>
に「グローバル」と宣言され
は、開梱作業は予想通り。しかし、それは結果として得られるconsumer
パッケージがchild
に依存していることを意味します。従属性は、その使用のためだけでなく、その作成のためだけでなければなりません。
私は<plugins><plugin>
セクションに依存を移動すると、それはdependency:unpack-dependencies
によって無視(dependency:unpack
プロセスや罰金、それを解凍し、それが推移的ではありません)されて
は、私が何をしないのですか?おかげ
Mavenは推移的依存関係child
を知っている - >parent
。ローカルリポジトリ全体を削除してこのPOMだけを実行すると、parent
がダウンロードされます。
以下の状況の非常に粗い図。緑のアーティファクトは、最終的なアーティファクトを作成するために必要です(後で使用する必要はありません)。そのため、依存関係はセクションにのみ属します。青アーティファクトは最終アーティファクトの使用に必要です。したがって、アーティファクトに依存しています。
達成しようとしていることはありますか?なぜプラグインの依存関係を解凍したいのですか? – khmarbaise
これはJavaプロジェクトではありません。親パッケージにはprotobufferコンパイラがあり、子には前記コンパイラ用のプラグインがあります。このpomを使ってMavenに指定されたバージョンのプラグインをダウンロードさせ、それが依存するコンパイラをダウンロードします。 execプラグインを使用して私はいくつかのパラメータでコンパイラを実行し、作成された成果物をjarにパックします。複数の言語を使用して複数のプラットフォームをターゲットにしているので、Mavenはそのための良いツールのようです。(その中にはJavaがありますが、この場合は問題ありません。非Javaの場合は、このようないくつかの注意点を使用しても問題ありません) –
'protobuffer compiler'の意味を具体的にすることはできますか? – khmarbaise