私はmavenを使用してsrc/main/resources
おり、ローカルシステムのフォルダー内からファイルをロードしようとすると呼び出されるソースフォルダーにテキストファイルがあります。
BufferedReader reader = new BufferedReader(new InputStreamReader(this.getClass().getResourceAsStream("/stopwords_german.txt")));
しかし、プロジェクトをEclipseでRunnable Jarとしてエクスポートし、サーバーでjarを開始するとすぐに、Nullpointer例外が発生します
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:622)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:78)
at java.io.InputStreamReader.<init>(InputStreamReader.java:72)
at de.test.dataminer.helper.FilterText.initStopwords(FilterText.java:43)
BufferedReader のある行です。
ここで非常によく似た質問を見ましたが、何もうまくいかなかったので、修正するためにテストしました(classloader を試すなど)。誰でもポインターですか?
<resources>
<resource>
<directory>/home/johnny/workspace/dataminer/src/main/resources</directory>
</resource>
</resources>