2011-09-16 7 views
27

プロジェクトのサブモジュールのみをどのように配備するのですか? 私は次のようなプロジェクトを持っています。maven deployを使用してサブモジュールのみを配備する方法は?

ProjectA 
- Submodule B 
- Submodlue C 
- Submodule D 

サブモジュールは、JARとしてパッケージ化されており、メイン・プロジェクトのみがサブのMavenリポジトリにデプロイすることができる-modules repo.how Mavenのために展開されていませんか?

答えて

0

デプロイからそれを除外するために、モジュールのPOMでのmaven-展開 - プラグインを設定することができます

<build> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-deploy-plugin</artifactId> 
    <version>2.4</version> 
    <configuration> 
     <skip>true</skip> 
    </configuration> 
    </plugin> 
    ... 
</build> 
+0

こんにちはRaghu ...うまくいきません...親の午後にコードを入れてみましたが、同じ結果を返します – Nazia

4

あなたはtechnique described in my blogを使用することができます。

この場合、あなたはルートpom.xmldefault-deploy(または何名がある)を無効にしたい:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-deploy-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>default-deploy</id> 
      <phase>none</phase> 
     </execution> 
    </executions> 
</plugin> 

そして、サブモジュールのためにそれを有効にするには:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-deploy-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>default-deploy</id> 
      <phase>deploy</phase> 
     </execution> 
    </executions> 
</plugin> 
7

これは私のために働きました。欠落したプラグイン要素を追加したこと以外は、他の回答と同様です。親POMに追加します。

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-deploy-plugin</artifactId> 
      <version>2.4</version> 
      <configuration> 
       <skip>true</skip> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
+2

デプロイするサブモジュールごとにdeployを再度有効にする必要があります false stenix

27
<properties> 
    <maven.deploy.skip>true</maven.deploy.skip> 
</properties> 

デプロイしたくないというモジュール(複数可)でこれを入れて(またはモジュールののpom.xml)。

+3

すべてのサブモジュールでskipプロパティが 'true'になりますので、何も配置されません.... – dokaspar

+0

@dokasparデプロイするすべてのサブモジュールに対してskipプロパティを' false'に設定するだけです... – lazlev

関連する問題