2012-03-01 48 views
1

所以我們在Jenkins中持續集成了我們的maven版本。我們有許多模塊構建,這些構建一起打包在組件構建中。程序集構建是我們的集成測試構建的依賴,它將安裝完整的包,啓動它,運行測試並關閉它。我們每晚都會在模塊單元測試中運行cobertura報告,但現在我們需要從集成測試中每晚進行cobertura報告。我對使用cobertura-maven-plugin爲cobertura報告設置定製構建的能力感到滿意。如何在maven回購中明確保存啓用cobertura的罐子?

問題是,我不想一直這樣做,所以如何區分這個jar在maven倉庫中?有沒有辦法使用descriptorRef(比如jar-with-dependencies)來獲取它在同一個maven倉庫中,但座標稍有不同?那麼接下來的問題當然是如何讓程序集構建具有不同的座標?當然這可能是相同或類似的答案。

回答

0

我不是一個真正的行家的人,但我認爲你可以專門部署此artfifact(我用常春藤和對儀器化瓶特殊的部署配置):

看一看分類:

部署神器與分類

分類不是以描述一個工件的附加文本。

artifact-name-1.0-bin.jar artifact-name-1.0-dev.jar
artifact-name-1.0-prod.jar

從上面的神器的名字,分類可位於工件的 版本和擴展名之間。

bin用於描述工件是二元的。
dev用於描述工件用於開發。
prod用於描述工件用於生產。

要將分類器添加到部署的工件中,請將文本 設置爲分類器參數。

mvn deploy:deploy-file -Durl=file:///C:/m2-repo \ 
         -DrepositoryId=some.id \ 
         -Dfile=path-to-your-artifact-jar \ 
         -DpomFile=path-to-your-pom.xml \ 
         -Dclassifier=bin 

https://maven.apache.org/plugins/maven-deploy-plugin/examples/deploying-with-classifiers.html

0

我還沒有正確理解,但如果你想反覆使用你的聚合jar,你可以使用安裝插件?

讓我們明確步驟,

  • 組裝您的文件
  • 它安裝到你的本地倉庫
  • 使用此文件

爲了使你應該使用後install plugin with install-file goal階段你聚合你的文件。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-install-plugin</artifactId> 
    <version>2.3.1</version> 
    <executions> 
     <execution> 
     <phase>anyphase</phase> 
     <goals><goal>install-file</goal></goals> 
     <configuration> 
      <groupId>mygroup</groupId> 
      <artifactId>myartifact</artifactId> 
      <version>${project.version}</version> 
      <packaging>pom</packaging> 
     </configuration> 
     </execution> 
    </executions> 
</plugin> 

然後,只需在需要的座標處引用您的任意罐子。

+0

如何節省依賴傳遞性,甚至相關?我的問題是,令人困惑的是,你發佈了一個完全不相關的回答,或者我錯過了什麼?僅供參考,您的文章是在獲取傳遞依賴關係,而不是保存一個。 – Jared 2012-03-02 14:11:12

+0

對不起賈裏德:)真的,我誤解了。如果我理解正確,你想再次使用這個聚合jar?如果不是這樣,請讓我更清楚地幫助你。 – Cemo 2012-03-03 10:23:55

相關問題