0

build.properties から追加したプロパティの値を取得したい

dergilik.host=http://172.171.1.155/

以下のコードで

private final static String PROPERTIES_FILE = "build.properties";
private final static String HOST = "dergilik.host";
private final Properties props = new Properties();

private String getHost() {
    try {
        InputStream inp = new FileInputStream(PROPERTIES_FILE);
        props.load(inp);
        return props.getProperty(HOST);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        System.out.println(e.getMessage());
        e.printStackTrace();
        return null;
    }        
}

ただし、アプリケーションは FileNotFoundException をスローしprops.load(inp);ます。ClassLoader クラスでも試してみたところ、NullPointerException が発生しました。さらに、PROPERTIES_FILE を「/ProjectName/build.properties」に変更しましたが、機能しませんでした。

では、プログラムが正しく build.properties ファイルを見つけられるようにするにはどうすればよいでしょうか?

ありがとう

4

1 に答える 1

1

Webアプリケーションでアクセスしたい場合

  • リソースは Web アプリケーション内にあり、 にアクセスできる場合はServletContext、 を使用する必要がありますServletContext.getResourceAsStream()
  • リソースがWebアプリケーションの外部にある場合context-param、web.xmlで使用してパスを構成し、使用してアクセスしてみてくださいServletContext.getInitParameter()

それがWebアプリケーションではなくクラスパスに存在する場合は、

  • Thread.currentThread().getContextClassloader().getResourceAsStream()
于 2012-07-04T11:52:12.370 に答える