2011-02-06 5 views
1

サブモジュールがたくさんある親モジュールがあり、すべてのモジュールジャーとすべてのzipファイルを生成しようとしていますその依存関係の私のアセンブリ・ディスクリプタは(this questionに似ている)のようになります。mavenアセンブリには、「既に追加されていない、スキップしていない」サブモジュールのすべての依存関係が含まれています

<assembly 
    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> 
    <id>bin</id> 
    <formats> 
     <format>zip</format> 
    </formats> 
    <moduleSets> 
     <moduleSet> 
      <useAllReactorProjects>true</useAllReactorProjects> 
      <binaries> 
       <outputDirectory>/</outputDirectory> 
       <unpack>false</unpack> 
       <dependencySets> 
        <dependencySet> 
         <outputDirectory>lib</outputDirectory> 
         <unpack>false</unpack> 
         <scope>runtime</scope> 
        </dependencySet> 
       </dependencySets> 
      </binaries> 
     </moduleSet> 
    </moduleSets> 
</assembly> 

は今のMaven 2とMaven 3の両方で、私は次のようになり、メッセージの数百人を見ている:

[INFO] distribution-0.5.1-SNAPSHOT/lib/commons-lang-2.4.jar already added, skipping 
[INFO] distribution-0.5.1-SNAPSHOT/lib/spring-core-3.0.3.RELEASE.jar already added, skipping 
[INFO] distribution-0.5.1-SNAPSHOT/lib/commons-logging-1.0.4.jar already added, skipping 
[INFO] distribution-0.5.1-SNAPSHOT/lib/args4j-2.0.12.jar already added, skipping 
[INFO] distribution-0.5.1-SNAPSHOT/lib/collections-generic-4.01.jar already added, skipping 

私はこれらが原因で起こっている集めます私のサブモジュールの多くは依存関係を共有しています(そして、いくつかのサブモジュールは他のサブモジュールに依存しています)。そして、mavenは各サブモジュールのすべての推移依存を独立してコピーしています。

mavenが同じ依存関係を何度もコピーしようとしないようにする方法はありますか?または、少なくとも、これらの "追加済みのスキップ"メッセージを表示しようとすると隠すことはできますか?

+1

"既に追加されていますが、スキップしても問題ありません。あなたのアーティファクトに最新のものがすでに追加されています。 – Nishant

+0

私はそれは害はないと同意しますが、何か面白いことが起こっているというサインです.Mavenはこれらのジャーをすべて複数回検索しています。上記のアセンブリは約2分かかりますが、サブモジュールのいずれかでパッケージを実行するには数秒かかります。このようなメッセージのうち5ページまたは10ページが、スクリーン上でそれほどうまくいっていない可能性がある他のものを押し出すことも、混乱を招く。 – Steve

+0

私もこの問題に遭遇し、チケットを作成することに決めました - http://jira.codehaus.org/browse/MASSEMBLY-594。これがまだ問題であれば、投票してください。 –

答えて

1

Maven Assembly plug-inをミュートできるものが存在するかどうかは疑問です。これは、提供するのに適したオプションです。

一方、すべての出力を抑制してモードで実行するようにMavenに依頼することができます。

mvn -h 
usage: mvn [options] [<goal(s)>] [<phase(s)>] 
Options: 
    -q,--quiet Quiet output - only show errors 

など。

mvn -q clean package 

しかし、他のビルドタイム情報もすべて失われます。

+0

素晴らしい解決策ではありませんが、良い情報です、ありがとう! – Steve

関連する問題