0
Windowsのプロンプト(コンソール)を使用してインストールして実行するmavenプロジェクトがあります。そして、私はそれを実行するたびに私が取得FileNotFoundException
:メモ帳を使用したFileNotFoundException
public Properties getConfigProperties() throws Exception {
ClassLoader loader = getClass().getClassLoader();
File file = new File(loader.getResource("config.properties").getFile());
config.load(new FileReader(file));
return config;
}
それともNullPointerException
私はclasspath:config.properties
を使用している場合。
ファイルが内にあります。/src/main/resources/
フォルダです。
また、IDEでプロジェクトを実行すると、例外が発生することなく正常に完了します。
コンソールコマンドを使用すると、何が問題になりますか?
[OK]を、 ' getResourceAsStream() 'が機能します。しかし、なぜ説明できますか? – nllsdfx
これは確かにクラスローダーの問題です。 Eclipse IDEには、 'getResource'または' getResourceAsStream'を呼び出すときに 'workspace/test/target/classes/config.properties'からファイルを取得する独自のclassLoaderがあります。しかし、コマンドラインから実行すると、クラスローダーは ' /YOUR_JAR.jar!config.properties'から取得しようとします。このパスはjava.io.File **を作成するのに有効ではなく、' FileNotFoundException ' –