2017-04-10 11 views
0

パッケージに基づいて2つのjarを生成したpomファイルが1つありますが、両方のjarファイルをnexusリポジトリにアップロードしたいとします。私が見ることができるように、1つの瓶だけがネクサスレポにコピーしていますが、他の瓶はコピーしていません。1つのpomで生成された複数のjarをnexusリポジトリにアップロードする方法

のpom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.my</groupId> 
<artifactId>Shared</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>jar</packaging> 
<url>http://maven.apache.org</url> 

<properties> 
    <project.build.directory>.</project.build.directory> 
    <localRepo>C:/Users/myuser/.m2/repository1</localRepo> 
</properties> 



<build> 
    <!--source directory pick the resources to be build. --> 
    <sourceDirectory>source</sourceDirectory> 

    <plugins> 
     <!--maven compiler plugin --> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.2</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 

     <!--this plugin is to generate the manifest file --> 
     <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> 
      <version>2.4</version> <configuration> <archive> <manifest> 
      <addClasspath>true</addClasspath> </manifest> <manifestEntries> <Built-By>my-org</Built-By> 
      </manifestEntries> </archive> </configuration> </plugin> --> 
     <!-- this plugin to create the multiple jars with inclusion or exclusion 
      of the files --> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.4</version> 
      <executions> 
       <execution> 
        <id>default-jar</id> 
        <phase>none</phase> 
       </execution> 
       <execution> 
        <id>build-Castor-jar</id> 
        <goals> 
         <goal>jar</goal> 
        </goals> 
        <phase>prepare-package</phase> 
        <configuration> 
         <archive> 
          <manifest> 

           <addClasspath>true</addClasspath> 
          </manifest> 
          <manifestEntries> 
           <Built-By>my-org</Built-By> 
          </manifestEntries> 
         </archive> 
         <includes> 
          <include>com/my/domain/BigDecimalHandler.class</include> 
          <include>com/my/domain/CalendarFieldHandler.class</include> 

          <include>com/my/domain/TimeZoneFieldHandler.class</include> 

         </includes> 
         <finalName>Castor-${version}</finalName> 
         <!-- <outputDirectory>${localRepo}/com/my/Castor/${version}/</outputDirectory> --> 
        </configuration> 
       </execution> 
       <execution> 
        <id>build-Shared-jar</id> 
        <phase>prepare-package</phase> 
        <goals> 
         <goal>jar</goal> 
        </goals> 
        <configuration> 
         <archive> 
          <manifest> 

           <addClasspath>true</addClasspath> 
          </manifest> 
          <manifestEntries> 
           <Built-By>my-org</Built-By> 
          </manifestEntries> 
         </archive> 
         <excludes> 
          <exclude>com/my/domain/BigDecimalHandler.class</exclude> 
          <exclude>com/my/domain/CalendarFieldHandler.class</exclude> 

          <exclude>com/my/domain/TimeZoneFieldHandler.class</exclude> 

         </excludes> 
         <finalName>Shared-${version}</finalName> 

        </configuration> 
       </execution> 
      </executions> 
     </plugin> 



    </plugins> 
</build> 
    <repositories> 
     <repository> 
      <id>central</id> 
      <name>Maven Plugin Repository</name> 
      <url>http://nxrepository/nexus/content/groups/public</url> 
     </repository> 

+0

問題を解決する異なるプロジェクトを持つことを意味するコードを分けてください...なぜ、 ...を使用してdefautlフォルダのレイアウトを変更しますか?ここでの問題は何ですか? – khmarbaise

答えて

0

追加のアーティファクトを展開するdeploy:deploy-file目標を使用することができます。しかし、1つのプロジェクトから2つのjarファイルを作成することは、Maven標準に反することに注意してください。あなたの場合は、プロジェクト内に異なるパッケージを含む2つのモジュールを定義する方が良いでしょう。

関連する問題