当我尝试从本地系统上的文件夹中加载文件时,我使用 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 的路线。
我在这里看到了非常相似的问题,但没有任何结果,所以我测试了它来修复它(比如尝试使用类加载器)。有人指点吗?
<resources>
<resource>
<directory>/home/johnny/workspace/dataminer/src/main/resources</directory>
</resource>
</resources>