2012-09-03 79 views
3

我想知道是否有任何標準程序來設置Java項目的版本(有點像Windows可執行文件版本)。Java程序本身支持版本的概念嗎?

我希望我的應用程序的代碼能夠具有自省功能,以便它可以知道它自己的版本。

完全可以用Java來做到這一點,而不是訴諸在版本爲目錄的目錄中有一個.txt文件嗎?

如果是,理想的做法是讓Eclipse在每次編譯時更新版本。這可能嗎?

回答

6

存儲版本信息的Java本地方式爲manifest filesthis part of the tutorial is about version information)。

您可以使用the Package class及其方法(如getImplementationVersion)在運行時獲取這些詳細信息。

+0

即使我的項目未部署爲JAR文件,清單文件是否也能正常工作? –

+2

@devouredelysium:不,但在這種情況下,我會說你無論如何都在運行一個開發版本,這是一個特例。 –

+0

我明白了。但對我來說,這實際上是一種破壞行爲,因爲大部分時間運行時,我將處於開發模式,我的程序的很大一部分依賴於此(這不是一個好主意,有一種方法對於開發模式和另一種生產模式,我知道意外奇怪的東西可能最終發生在後者)。那麼我必須堅持使用.txt文件?我不知道如何告訴Eclipse,我希望它在每次自動構建.java文件時在給定位置創建.txt文件,但.. –

1

我不知道如何告訴Eclipse,我希望它在給定的每個地方,它會自動建立一個.java文件,雖然時間創建一個txt文件..

我可以建議您看看Maven以及它支持的發佈過程。