我正在尝试使用Class.getResource("rsc/my_resource_file.txt")
在Eclipse应用程序中加载文件。但是,不管我在Eclipse做classpath中始终只包含一个条目到Eclipse启动:Class.getResource()在我的Eclipse应用程序中返回null?无法配置类路径?
... /日蚀/插件/ org.eclipse.equinox.launcher_1.2.0.v20110502.pkc
如何配置类路径?
注:在运行时,我确定类路径下面的代码:
URLClassLoader cl = (URLClassLoader) ClassLoader.getSystemClassLoader();
for (URL classpathURL : cl.getURLs()) {
System.out.println(classpathURL);
}
编辑:进一步信息。
问题的根源在于Class.getResource("rsc/my_resource_file.txt")
返回null。在一个简单的5行“Java应用程序”中完成了一些小实验之后,我想我已经弄明白了,并且问题与类路径有关。显然,类路径与“Eclipse应用程序”有些不同。我通过做Class.getResource("/rsc/my_resource_file.txt")
解决了问题,谢谢BalusC。
您可以退后一步吗?你的具体问题是资源返回'null',对吧?你确定它的道路是正确的吗?正如你所看到的,它与当前类的包相关。不应该以'/'开始的路径是相对于包根?至少,Eclipse启动程序不是在这里责怪。 – BalusC
@ BalusC - 你是对的,我曾认为/将是文件系统上的绝对路径。如果您将此作为答案,我会接受它。 – Buttons840
我发布了一个答案。 Classpath不得与本地磁盘文件系统混淆。 – BalusC