Javaアプリのリソースファイル(データ)を取得する際にリソースパスについ
・リソースの取得
すべてのJavaアプリに対し、下記3つのリソースがあれば
src
main
com
pkg
Main.java
main.properties
resources
template
1.html
my.properties
それぞれの取得に以下のパスで行う。
・main.properties
ClassLoader.getSystemResource("com/pkg/main.properties")
・1.html
ClassLoader.getSystemResource("template/1.html")
・my.properties
ClassLoader.getSystemResource("my.properties")
ではなぜなのか?実際にコンパイルしたフォルダの構成にかかってる
上記のソースフォルダツリーであれば、コンパイル後に以下のアウトプットをできる
classes
com
pkg
Main.class
main.properties
template
1.html
my.properties
つまり、リソースのパスはコンパイル後の場所と関係していることが分かりました。
2018/06/11 IntelliJの中に、リソースフォルダの追加方法