2013-07-02 124 views
0

有一個項目有幾個模塊項目,本身有其他模塊項目。我有某些模塊生成一個特殊的工件類型'.kar',我將在maven部署階段將其部署到artifactory。maven依賴:跨模塊複製

現在我想找到一種方法,通過使用這個現有的pom從artifactory的版本下載這些特定的工件。

mvn依賴:複製<>允許我下載這個特定的神器。

我想這是通過生成這些工件的POM文件來完成。問題是當我使用依賴項:複製時,它只運行在當前可能有或沒有特殊工件的pom上。

如果我使用它,那麼它會重新部署所有工件並正確下載特殊工件。但這不是正確的解決方案。

回答

0

您可以爲您的項目添加一個新模塊,該模塊對您的.kar工件都有<dependencies>。在這個新模塊的POM文件中,您可以使用maven-dependency-plugin的copy-dependencies目標。

<project> 

    <!-- Integrate this module into your multi-module project. --> 
    <parent> 
    <groupId>my.group.id</groupId> 
    <artifactId>my-parent-pom</artifactId> 
    <version>1.0.0-SNAPSHOT</version< 
    </parent> 

    ... 

    <!-- Add dependencies for all your .kar artifacts. --> 
    <dependencies> 
    <dependency> 
     <groupId>my.group.id</groupId> 
     <artifactId>kar-artifact-1</artifactId> 
     <version>${project.version}</version> 
     <type>kar</type> 
    </dependency> 
    <dependency> 
     <groupId>my.group.id</groupId> 
     <artifactId>kar-artifact-2</artifactId> 
     <version>${project.version}</version> 
     <type>kar</type> 
    </dependency> 
    ... 
    </dependencies> 

    <build> 
    <plugins> 
     <!-- Use the maven-dependency-plugin to copy your .kar artifacts. --> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-dependency-plugin</artifactId> 
     <version>2.8</version> 
     <executions> 
      <execution> 
      <id>copy-kar-artifacts</id> 
      <goals> 
       <goal>copy-dependencies</goal> 
      </goals> 
      <configuration> 
       <includeTypes>kar</includeTypes> 
      </configuration> 
      </execution> 
     </executions> 
     <plugin> 
    </plugins> 
    </build> 

</project>