質問: new InputStreamReader(new FileInputStream("プロパティ名"), "utf-8"){ this.prop.load(reader); } catch(IOException e) { throw new RuntimeException(e); } ``` 本番環境で gradle installApp を実行したあと、 プロジェクトホーム/build/install/プロジェクト名/bin/実行ファイル でアプリケーションを実行してもうまくプロパティが読めません。 原因は gradle installAppを実行した時に実行パスの直下にプロパティファイルが生成されていないことが原因だとはわかっています。 したがって、実行パスの直下にプロパティファイルを置けば読めるのですが、毎回ビルドの度にプロパティファイルをコピーするのは、どうもスマートではないように思います。 SPARKを使ったときにプロパティを読み込む何かいい方法はありますでしょうか? よろしくお願い致します。
回答: Spark固有の話ではありませんが。 Javaの一般的なWebアプリケーションでは、 設定ファイルは`WEB-INF`の下(`WEB-INF/conf`とか)に置くか、 リソースファイルとしてクラスパスに置くかのどちらかにするのが良いと思います。 リソースファイルにするには、`src/main/resources`に置けば、Gradleがパッケージに含めてくれるのではないでしょうか。 読み込みは、`getClass().getResourceAsStream()`を使って`InputStream`を介して読み込みます。