創建至少應在Windows,Linux,Mac OS和Android上部署的Java解決方案時,我們正在尋找一種方法來保持系統範圍的配置數據。何處放置以及如何獲得系統範圍配置數據的適當位置,例如system_home以獨立於平臺的方式用於Java?
in What is the proper way to store app's conf data in Java? 解決方案圍繞特定用戶的主目錄進行討論。 Oracle的文檔頁面之一:
http://docs.oracle.com/javase/7/docs/technotes/guides/deployment/deployment-guide/properties.html
一個類似的方法IST拍攝。
我們想走一條更系統化的路線。例如。在Linux系統上,/ etc或/ var/lib的子目錄可能是合適的位置。在Windows/$ WIN/System32可能是一個開始,在Mac OS/System/Library可能是位置。
JAVA_HOME - 可能是一種選擇,而是有它自己的問題: Windows ignores JAVA_HOME: how to set JDK as default?
的java.util.Preference類已經存在了一段時間,但ID不提供備份存儲位置的正確選擇 : http://www.allaboutbalance.com/articles/disableprefs/
這將是一個庫,允許
- 找出正確的系統範圍的目錄
- 添加專用的子文件夾
- ,並且可以處理性能
問題的第一部分是在正確的位置(這可能是與常規的屬性文件或java.util.Preferences完成)獨立於平臺的方法。應該使用什麼目錄,例如在Android上?哪些後續問題需要處理(例如訪問權限)? 假設是,如果圖書館存在,問題的第一部分將通過圖書館處理這部分問題的方式來回答。所以如果你認爲沒有這樣的圖書館,你會被邀請回答這部分問題。
沒有這樣的平臺獨立的概念。配置真的必須在系統範圍內嗎?讓我感到震驚的是,除非您關心多用戶系統,否則Java首選項將與您可以使用的平臺無關的庫相關。 – Perception 2013-04-20 13:35:32
你有沒有考慮過'System.getProperty(「java.home」)'? – OldCurmudgeon 2013-04-20 14:50:23