2010-11-16 95 views
9

我在Web應用程序的pom文件中創建了一個構建配置文件,它在qa測試中執行了一些必要的事情(在我的代碼中)。根據配置文件更改已部署的工件名稱

我有SVN此代碼,這段代碼是在哈德森,它部署在文物承上啓下編譯..

哈德森有兩個任務,一個是質量保證的個人資料(-P QA)和一個客戶。

我需要的是我在qa配置文件中更改了部署階段的工件名稱,這樣nexus有兩個不同的war文件,一個用於qa,一個用於客戶。

我使用(谷歌搜索後)下面看起來像什麼都沒有在hudshon!

<profile> 
     <id>qa</id> 
     <build> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-deploy-plugin</artifactId> 
        <version>2.5</version> 
        <configuration> 
         <classifier>qa</classifier> 
        </configuration> 
       </plugin> 
      </plugins> 
     </build> 
    </profile> 

任何想法的人?

回答

12

你確實需要設置在該大廈多數民衆贊成正在部署的包插件「分類」配置選項:maven-(耳| EJB |罐子| RAR |戰爭|燈罩)-plugin:

例如,建立了質量保證分級一個WAR,你會做以下幾點:

<profile> 
    <id>qa</id> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.1.1</version> 
       <configuration> 
        <classifier>qa</classifier> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</profile> 

此外,而不是設置,你可以設置以下(最默認project.build.finalName的分類,這樣設置,屬性更新許多這些):

  • 一般
    • project.build.finalName
  • 戰爭插件
    • warName
  • 耳|罐|的RAR |燈罩插件
    • finalName
  • EJB插件
    • 的JARname

最後一點:我從來沒有意識到這一點,但看的文檔上,它看起來像RAR插件不支持的「分類」選項。 Shade確實支持分類器概念,但是通過「shadedClassifierName」屬性來實現。