2016-04-27 5 views
0

私はmavenを初めて使用しています。春のプロジェクト用の特定のパッケージに属するjarファイルを作成する方法のサンプルpomファイルを提供してください。以下はmaven pom.xmlを使用して特定のJavaパッケージのjarを作成する方法

は私の二つのパッケージ

com.net.foo

com.org.bar

あると私はパッケージcom.orgのJARファイルを作成したいです.bar単独で名前をorg.jar

これを達成するためのリースヘルプ?

おかげ

+0

これはあなたを助けるべきhttp://stackoverflow.com/questions/10036090/how-to-create-jar-using-maven-pom-xml?rq=1 – Lucky

答えて

0

あなたはMavenのために新しく追加されたので、私は、各Mavenのモジュール(各のpom.xml)は、単一のjarファイルを生成しなければならないことを教えなければなりません。単一のpom.xmlから2つのjarファイルを生成することは、アンチパターンです。複数のモジュールを作成したいかもしれません。あなたは

<packaging>pom</packaging> 

と親のpom.xmlを作成し、それが2つのMavenを含める必要があり、この場合には

は今、あなたは、単一のビルドで両方のjarファイルを構築することができますが、それぞれがある

<modules> 
    <module>foo</module> 
    <module>bar</module> 
</modules> 

プロジェクト独自のMavenプロジェクト。これは正しいパターンです。

はあなたが本当にパッケージによって分離したい場合、私はあなたがこれを使用することができると思いますことを言った:

https://maven.apache.org/plugins/maven-jar-plugin/examples/include-exclude.html

しかし、あなたは単純に二回のmaven-jarファイル・プラグインを繰り返すことはできません。 MavenにJARプラグインを2回実行させるには、2つのプロファイルまたは2つの実行を作成する必要があります。最も簡単なのは、2回の実行を作成することです。以下のコードを参照してください。

今、あなたの生産jarファイルに名前を付ける方法については、あなたはMavenの-ジャーのプラグインすべて一緒にそれを置く

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>2.3.2</version> 
    <configuration> 
     <finalName>myJar</finalName>     
    </configuration> 
</plugin> 

にfinalName構成を設定する必要があります。

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-jar-plugin</artifactId> 
      <executions> 

       <execution> 
        <id>foo</id> 
        <goals> 
         <goal>jar</goal> 
        </goals> 
        <phase>package</phase> 
        <configuration> 
         <finalName>foo</finalName> 
         <includes> 
          <include>**/foo/*</include> 
         </includes> 
        </configuration> 
       </execution> 

       <execution> 
        <id>bar</id> 
        <goals> 
         <goal>jar</goal> 
        </goals> 
        <phase>package</phase> 
        <configuration> 
         <finalName>bar</finalName> 
         <includes> 
          <include>**/bar/*</include> 
         </includes> 
        </configuration> 
       </execution> 

      </executions> 
     </plugin> 
    </plugins> 
</build> 

注場合は、そのこの方法に従うと、生成されたjarファイルはプロジェクト成果物として自動的には扱われないので、追加の作業を行う必要があります。私は強くあなたがマルチモジュールのアプローチに行くことをお勧めします。

0

maven-jar-pluginを使用する必要があります。

使用例:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>2.4</version> 
    <executions> 
     <execution> 
      <id>default-jar</id> 
      <phase>package</phase> 
      <goals> 
       <goal>jar</goal> 
      </goals> 
      <configuration> 
       <excludes> 
        <exclude>**/bar/**</exclude> 
       </excludes> 
      </configuration> 
     </execution> 
    </executions> 
</plugin>