2010-10-12 66 views
7

我希望我的JAR/WAR應用程序知道什麼是它的源代碼SVN修訂版本號。我希望稍後呈現這個版本號爲網絡終端用戶在網頁的底部,等如何將SVN修訂號注入JAR?

是否有任何現有的Maven插件的過程自動化?我認爲該插件必須從svn收集的信息並保存到某些文件,如src/resources/revision.txt

回答

4

本頁面提供的答案几乎相同的問題:

Maven的食譜:How To Add SVN Revision To A JAR Manifest?

在你的情況,而不是建立一個清單條目,您需要使用buildNumber變量resource filtering

+0

有什麼問題清單項?我假設它可以從Java訪問。對? – yegor256 2010-10-12 12:39:10

+0

@vincenzo肯定的是,昨天有一個有關類似問題的問題(你可以使用答案):http://stackoverflow.com/questions/3907737/how-to-read-manifest-mf-from-pojo-class-不-A-的servlet實例化,通過彈簧 – 2010-10-12 12:50:22

+0

@vincenzo但過濾與Maven JSP或簡單的文本文件是一個容易得多 – 2010-10-12 12:54:21

0

您可以用svn keyword substitution

+1

在這樣的情況下,我將拾取的不是整個代碼庫該特定文件的SVN版本。 – yegor256 2010-10-12 12:14:12

+0

關鍵字替換僅在更改後的文件上執行,即不更改,無新版本號。必須從'.svn'目錄中讀取當前項目的修訂版本。 MediaWiki有這樣的代碼,但是它是用PHP編寫的。 – Archimedix 2010-10-12 12:16:07

3

使用 版本,Maven的插件從Codehaus的Mojo的項目 buildnumber - Maven的插件。提供了很多選擇來做到這一點。

+0

真的嗎?我找不到任何。我們正在討論SVN修訂,而不是POM版本。 – 2010-10-12 12:24:48

+0

我已經編輯我的anwser,有錯誤插件 – Salandur 2010-10-12 12:30:25

+0

@Salandur感謝您的更新,而這正是'seanizer'上面已經解釋。 – yegor256 2010-10-12 12:46:15