.properties ファイルを eclipse プロジェクトのどこに配置すればよいか教えてください。それ用に別のフォルダーを作成しますか?プロジェクトを JAR 形式で簡単に配布できるようにしたいと考えています。
ありがとう。
編集:
どの OS でも、後で簡単に編集できるようにプロパティ ファイルを配置したいと考えています。
.properties ファイルを eclipse プロジェクトのどこに配置すればよいか教えてください。それ用に別のフォルダーを作成しますか?プロジェクトを JAR 形式で簡単に配布できるようにしたいと考えています。
ありがとう。
編集:
どの OS でも、後で簡単に編集できるようにプロパティ ファイルを配置したいと考えています。
再展開せずに構成を簡単に変更できるようにするために私が使用するアプローチ。
プロジェクトのルートにあるプロパティ ファイルの 1 つのバージョン (既定値を使用)。私は常にアプリケーション パッケージ (foo.bar.myapp) に入れます。getResourceAsStream("/foo/bar/myapp/config.properties")
クラスパッケージに関連するサンプルで、またはのようにデフォルトのものをロードします。
さらに、システム プロパティを用意します。
String configFileLocation = System.getProperty("config");
そして、プロパティとして渡された構成ファイルから読み取ったプロパティでデフォルトをオーバーライドするだけです。
例えば:
Properties props = new Properties();
props.load(Main.class.getResourceAsStream("mydefault.properties"));
System.out.println("default loaded: " + props);
String configFile = System.getProperty("config");
if (configFile != null) {
props.load(new FileInputStream(configFile));
System.out.println("custom config loaded from " + configFile);
}
System.out.println("custom override: " + props);
これにより、プロジェクトの下にあるfoo.bar
という名前のパッケージに保存されているリソースが最初に読み込まれmydefault.properties
、その後、システム プロパティconfig
が構成されている場合は、読み込まれたプロパティが参照されたパスで上書きされます。
システム プロパティは-D
パラメータを使用して設定できます。この場合は次のようになりますjava -Dconfig=/home/user/custom.properties foo.bar.Main
。または、Web アプリケーション (Tomcat など) を使用している場合は、 を使用してこのプロパティを設定できますCATALINA_OPTS
。
src/main/resource
理想的な選択でしょう。