我不知道如何在我的应用程序上实现它。
我想要一个 xml(或某个文件),负责应用程序管理的人员可以在其中选择 Root_Dir 的位置。
现在它是硬编码的,比如 C:\MyAppRootDir
但我希望管理员可以随时修改此路径。
有什么想法吗?
干杯
最佳答案
有几种方法可以为 webapp 提供外部配置。
创建一个属性文件并将其放在 webapp 的运行时类路径所涵盖的路径之一中,或者将其路径添加到 webapp 的运行时类路径中。
例如
/path/to/config.properties
包含此内容xmlrootdir=C:\MyAppRootDir
您将能够通过类加载器获取它。
Properties properties = new Properties(); properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties")); String xmlrootdir = properties.getProperty("xmlrootdir"); // ...
根据您的问题历史记录,您正在使用/以 Tomcat 为目标。管理员可以编辑其
/conf/catalina.properties
的shared.loader
条目以指向此属性文件所在的文件夹。shared.loader=/path/to
将 VM 参数添加到 Tomcat 启动脚本。
-Dconfig.xmlrootdir=C:\MyAppRootDir
可用方式如下:
String xmlrootdir = System.getProperty("config.xmlrootdir"); // ...
设置环境变量。
SET CONFIG_XMLROOTDIR=C:\MyAppRootDir
可用方式如下:
String xmlrootdir = System.getenv("CONFIG_XMLROOTDIR"); // ...
关于java - 从 xml JSF/Java 配置 web-app 数据目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10820853/