1

我无法弄清楚如何在我的应用程序上实现这一点。

我想要一个 xml(或某个文件),负责应用程序管理的人员选择 Root_Dir 所在的位置。

现在它是硬编码的,C:\MyAppRootDir但我希望管理员可以随时修改这条路径。

有任何想法吗?

干杯

4

1 回答 1

4

有几种方法可以为 webapp 提供外部配置。

  1. 创建一个属性文件并将其放在 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
    
  2. 将 VM 参数添加到 Tomcat 启动脚本。

    -Dconfig.xmlrootdir=C:\MyAppRootDir
    

    可用如下:

    String xmlrootdir = System.getProperty("config.xmlrootdir");
    // ...
    
  3. 设置环境变量。

    SET CONFIG_XMLROOTDIR=C:\MyAppRootDir
    

    可用如下:

    String xmlrootdir = System.getenv("CONFIG_XMLROOTDIR");
    // ...
    
于 2012-05-30T17:09:13.743 回答