我正在編寫一個Maven項目,我想在生成的WAR中包含一個包含一些編譯時間信息的文件。通常,這會像Maven是否有機制讀取機器名稱
- 構建時間/日期戳東西
- 是誰建的WAR
- 應用程序的版本,如在POM中指定的人的用戶名
這些都很容易,因爲有maven屬性,它會給我我需要的信息。
我還想包括機器名稱。我知道Windows將此信息存儲在名爲「COMPUTERNAME」的環境變量中,而* nix使用hostname
命令。
是否有一些平臺獨立的方式來獲取這些信息,以便我可以將它寫入我的文本文件?
我正在編寫一個Maven項目,我想在生成的WAR中包含一個包含一些編譯時間信息的文件。通常,這會像Maven是否有機制讀取機器名稱
這些都很容易,因爲有maven屬性,它會給我我需要的信息。
我還想包括機器名稱。我知道Windows將此信息存儲在名爲「COMPUTERNAME」的環境變量中,而* nix使用hostname
命令。
是否有一些平臺獨立的方式來獲取這些信息,以便我可以將它寫入我的文本文件?
我將以此作爲解決方案。它感覺更乾淨並且不需要操作系統特定的工具。 – Stormcloud 2012-07-30 15:10:35
我通過調用Maven Ant任務來完成此操作。在我使用了下列Ant任務:
<tstamp>
產生時間戳屬性 <propertyfile>
創建包含像上面戳,用戶名等性質的屬性文件
你可以使用Ant任務<exec>
執行hostname
並提名一個輸出屬性以將該值寫入。
這創造了一個特性在src/main/resources
目錄,我再嵌入.war文件
謝謝,但我特別感興趣的機器名稱。寫入準備文件的價值是微不足道的(我已經得到它的用戶名,時間戳等) – Stormcloud 2012-07-26 09:51:25
請參閱我的評論re。 hostname以上 – 2012-07-26 10:34:08
我看到 - 我知道命令「hostname」在* nix上工作,但不知道它也可以在Windows上使用。 Ta – Stormcloud 2012-07-26 16:22:12
這可能適合你:http://stackoverflow.com/a/7450469/966590 – 2012-07-26 09:33:12
完美 - 謝謝。 問:我如何將此標記爲答案,以便其他人可以遵循它? – Stormcloud 2012-07-26 09:53:27
您可以爲自己的問題寫一個答案,並將其標記爲已接受。如果你想要我,我可以做到。 – 2012-07-26 10:18:47