【问题标题】:Property file path Eclipse vs Deployed Java Web App属性文件路径 Eclipse vs Deployed Java Web App
【发布时间】:2012-06-27 12:55:29
【问题描述】:

我正在为我部署的每个应用程序在内部服务器上的受保护文件夹中维护包含数据库凭据的属性文件。我不允许将凭据存储在 WAR 文件中。

在我的 PC 上测试时,路径是 windows mount,但是当我部署到服务器时,它是 unix 路径

我一直在处理这样的检索

//siteDbCedentialFolder obtained from web.xml

Properties prop = new Properties();
InputStream in = null;
try {
    //assume running on server first
      in = new FileInputStream("/abc/data/" + siteDbCedentialFolder + "/props.txt");
    } catch (java.io.IOException ex) {
    // Probabaly Running locally
      in = new FileInputStream("W:/internal/abc/data/" + siteDbCedentialFolder + "/props.txt");
    } catch (Exception xx) {
    xx.printStackTrace();
    }
prop.load(in);
in.close();

我的方法是使用 catch 来获取本地路径,还是有更好的编码方法?

【问题讨论】:

    标签: java eclipse path


    【解决方案1】:

    更好的方法是将txt文件放在用户主目录中并通过

    System.getProperty("user.home");
    

    获取完整路径

    String pathToFile = System.getProperty("user.home") + File.separator + "data" + File.separator + "props.txt";
    

    它适用于所有平台,前提是您需要将文件放在适当的位置(用户主页)

    【讨论】:

    • +1 但公司已经规定了开发人员存储凭据的位置。这也需要我维护两个文件。一个在服务器上,一个在开发人员机器上。我上面的方法只使用服务器上的那个。
    • 只是想知道使用 try catch 以编程方式决定使用 unix 路径还是 windows 路径是否是一种好方法。当应用程序在我的 PC 上的 Eclipse 中运行时,会引发文件异常,然后尝试获取 Windows 样式的路径。
    猜你喜欢
    • 1970-01-01
    • 2011-10-05
    • 2012-03-11
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 2011-04-30
    • 1970-01-01
    • 2011-07-14
    相关资源
    最近更新 更多