2012-05-02 60 views
0

我有以下行家的pom.xml如何從dependencyManagement在行家POM引用工件版本

<?xml version="1.0"?> 
<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/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.abc.def.ghi</groupId> 
<artifactId>core-with-releases</artifactId> 
<version>1</version> 
<properties> 
<yum-repo>/var/www/html/core-repo</yum-repo> 
</properties> 
<organization> 
<name>ABC DEF GHI</name> 
</organization> 
<dependencyManagement> 
<dependencies> 
    <dependency> 
    <groupId>com.aaa.bbb.ccc.ddd</groupId> 
    <artifactId>core</artifactId> 
    <version>1.1.3</version> 
    <type>rpm</type> 
    </dependency> 
</dependencies> 
</dependencyManagement> 
<build> 
<plugins> 
    <plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <version>1.2.1</version> 
    <executions> 
     <execution> 
     <id>create-directory</id> 
     <phase>process-resources</phase> 
     <goals> 
      <goal>exec</goal> 
     </goals> 
     <configuration> 
      <executable>mkdir</executable> 
      <arguments> 
      <argument>${yum-repo}${dependencies["com.aaa.bbb.ccc.ddd:core"].version}</argument> 
      </arguments> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 
</plugins> 
</build> 
</project> 

我從執行命令行

MVN清潔工藝資源

結果,我想要創建目錄,其名稱以dependencyManagement元素的工件版本結尾1.1.3

可以有人LP呢?謝謝。

回答

0

我會建議使用屬性爲這樣的目的:

<properties> 
    <yum-repo>/var/www/html/core-repo</yum-repo> 
    <dep.groupId>com.aaa.bbb.ccc.ddd</dep.groupId> 
    <dep.artifactId>core</dep.artifactId> 
    <dep.version>1.1.3</dep.version> 
</properties> 
<organization> 
<name>ABC DEF GHI</name> 
</organization> 
<dependencyManagement> 
<dependencies> 
    <dependency> 
    <groupId>${dep.groupId}</groupId> 
    <artifactId>${dep.artifactId}</artifactId> 
    <version>${dep.version}</version> 
    <type>rpm</type> 
    </dependency> 
</dependencies> 
    ... 
     <configuration> 
      <executable>mkdir</executable> 
      <arguments> 
      <argument>${yum-repo}${dep.version}</argument> 
      </arguments> 
     </configuration> 
     </execution> 
    </executions> 
    ... 

你應該知道的,通過在定義依賴dependencyManagement的依賴將被綁定爲依賴於當前項目。