我无法弄清楚如何在我的应用程序上实现这一点。
我想要一个 xml(或某个文件),负责应用程序管理的人员选择 Root_Dir 所在的位置。
现在它是硬编码的,C:\MyAppRootDir
但我希望管理员可以随时修改这条路径。
有任何想法吗?
干杯
我无法弄清楚如何在我的应用程序上实现这一点。
我想要一个 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。管理员可以编辑其shared.loader
条目/conf/catalina.properties
以指向此属性文件所在的文件夹。
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");
// ...