1

実行可能なjarファイルのリソースフォルダに配置されたプロパティファイルをロードする方法。ここで、私のアプリ自体は jar であり、単独で実行されます。コードに記載されているパスに応じて、実行時にこのプロパティ ファイル (リソース フォルダーの下に配置されている) を見つける必要があります。以下の2つの方法を使用しましたが、役に立ちませんでした。ここでのポイントは、これらのオプションは両方とも、Eclipse で実行すると正常に機能しますが、実行可能な jar にパックすると機能しません。NullPointerException をスローします。ここで見られる唯一の問題は、jar が指定されたパスのプロパティ ファイルを選択できないことです。どんな助けでも大歓迎です。

方法 1: Apache Commons 構成を使用する

 URL propFileURL = XYZ.class.getClassLoader().getResource("/config.properties");
Configuration propertyConfiguration = null;             
propertyConfiguration = new PropertiesConfiguration(propFileURL);

上記の場合、ConfigurationException が発生しています。クラスは、指定されたパスに記載されているファイルを見つけることができません。

方法 2: getResourceAsStream を使用します。他の場所のネットワークからファイルをロードする場合、 getResource が機能しないことを私は知っています。

InputStream is =XYZ.class.getClassLoader().getResourceAsStream("/config.properties");
Properties prop = new Properties();
prop.load(is);

この場合、nullPointerException が発生します。詳細が必要な場合はお知らせください。

jar コンテンツ階層

Properties file - /java-file-io-application/src/main/resources/config.properties
XYZ class - /java-file-io-application/src/main/java/org/bc/xyz/iplugin/utilities/XYZ.java
4

1 に答える 1