我正在嘗試使用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