2013-10-14 18 views
1

我正在使用Jenkins版本。 1.521和標準的maven插件(版本1.519)來構建maven2項目。Jenkins maven插件改變清單

在清單中,我可以看到在任何的POM文件中的條目我沒有配置:

Manifest-Version: 1.0 
Archiver-Version: Plexus Archiver 
Created-By: Apache Maven 
Built-By: jenkins 
Build-Jdk: 1.6.0_45 
Hudson-Build-Number: ... 
Hudson-Project: ... 
Hudson-Version: ... 
Jenkins-Build-Number: .. 
Jenkins-Project: ... 
Jenkins-Version: ... 

我在哪裏可以配置這些條目?

回答

1

實際上,我發現它們在source of maven plugin裏被硬編碼爲jenkins,這是一件可悲的事情。

+1

如果這個問題已經解決,你應該標記它的答案,只是爲了幫助那些尋求幫助。 –

2

我不知道這樣的默認行爲。通常這是在您的pom的構建部分配置的。你確定它不是來自某個祖先的某個地方嗎?

<plugin> 
    <artifactId>maven-jar-plugin</artifactId> 
    <configuration> 
     <archive> 
     <manifest> 
      <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 
     </manifest> 
     <manifestEntries> 
      <Build-Job>${JOB_NAME}</Build-Job> 
      <Build-Id>${BUILD_ID}</Build-Id> 
      <Build-Number>${BUILD_NUMBER}</Build-Number> 
      <Build-Repository-Rev>${SVN_REVISION}</Build-Repository-Rev> 
      <Build-Time>${maven.build.timestamp}</Build-Time> 
     </manifestEntries> 
     </archive> 
    </configuration> 
    </plugin> 

在這個例子中根據元素名稱創建的manifestEntries孩子XML元素。他們可以來自Maven的特性,例如maven.build.timestamp或環境變量,例如, JOB_NAME。環境變量JOB_NAME,BUILD_ID等爲set by Jenkins when it executes the job

+0

謝謝你。我發現他們在詹金斯硬編碼,但我會嘗試使用您的解決方案來覆蓋。 – glaz666

+0

@ glaz666良好的捕獲 - 現在我很困惑,爲什麼我們在MANIFEST中看不到這些條目?也許顯式配置禁用這些默認條目?如果您不介意,請回復配置條目時發現的內容。 – sceaj

+0

當我將項目從使用Maven 2.x更改爲3.x,Hudson和Jenkins條目消失時,我注意到了這一點。 –