2009-07-22 7 views
4

maven用のAssemblyプラグインを使用してインストールパッケージを作成しています。Maven 2 Assembly Plugin - メインの成果物と依存関係を別々のフォルダに分割する方法

私のパッケージ要件では、ビルド中に生成された成果物とすべての依存関係を別々のフォルダに分割する必要があります。次のように

私の現在のアセンブリマニフェストは次のとおりです。

<moduleSets> 
    <moduleSet> 
    <includes> 
     <include>test:test</include> 
    </includes> 
    <binaries> 
     <includeDependencies>false</includeDependencies> 
     <outputDirectory>lib/custom/${artifactId}</outputDirectory> 
     <unpack>false</unpack> 
    </binaries> 
    </moduleSet> 
    <moduleSet> 
    <includes> 
     <include>test:test</include> 
    </includes> 
    <binaries> 
     <includeDependencies>true</includeDependencies> 
     <excludes> 
     <exclude>test:test</exclude> 
     </excludes> 
     <outputDirectory>lib/thirdParty/</outputDirectory> 
     <unpack>false</unpack> 
    </binaries> 
    </moduleSet> 
</moduleSets> 

まずというモジュールが正常にのみ、現在構築されたアセンブリを生成します。 しかし、thirdPartyには、現在ビルドされているアセンブリも含まれています。すでに最初のセットに含まれているファイルを除外するにはどうすればいいですか?それを行うための一つの場しのぎの方法はmaven-antrun-pluginとantタスクである

おかげ

答えて

0

。 lib/custom/$ {artifactId}の内容を繰り返し、lib/thirdPartyからすべてのファイルを削除します。

0

appassembler-maven-pluginをご覧ください。すべてのランタイム依存関係ジャーをディレクトリにダンプできます。メインのjarを1つのフォルダに入れて、依存関係を別のフォルダにダンプすることができます。

1

依存関係の使用についてはどうすればよいですか?私はそれを使ってすべてのdepsをtarget/libにコピーします。

+0

excludeTransitiveとexcludeScopeでこれを使用すると、これを行う簡単な方法になります。 – sal

関連する問題