我有一个简单的Java类:
public class T {
public static void main(String[] args) {
System.err.println(Thread
.currentThread()
.getContextClassLoader()
.getResource("."));
}
}
在Windows上运行上述类时,我得到了以下结果:
file:/T:/java/
在Linux上运行时,我得到了不同的东西:
jar:file:/usr/lib/jvm/java-6-openjdk-common/jre/lib/ext/pulse-java.jar!/
这个问题导致我的程序在Linux上失败,因为它找不到我指定的文件。有什么解决方法吗?
"."
返回什么? - jtahlbornThread.currentThread.getContextClassLoader().getResource("app.conf")
获取app.conf
文件。在Windows上可以工作,但在Linux上不能。 - Gelin LuoFile
呢?资源是关于加载程序中的“文件”。在生产部署中,当前工作目录不太可能在类路径上(也许不在)。 - Tom Hawtin - tackline