首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试getResource*

调试getResource*
EN

Stack Overflow用户
提问于 2008-10-31 10:25:54
回答 5查看 7K关注 0票数 17

如何调试getResource(http://java.sun.com/javase/6/docs/api/java/lang/ClassLoader.html#getResource(java.lang.String%29)-style方法失败,返回null?

我确信它正在寻找的文件就在那里,但它返回的是NULL。我如何知道它正在寻找什么来尝试发现任何不匹配?

EN

回答 5

Stack Overflow用户

发布于 2008-10-31 13:27:23

由于getResource()搜索类路径(正如其他人所提到的),因此在某些getResource()调用出现问题之前转储正在搜索的实际类路径可能会有所帮助:

代码语言:javascript
复制
log.debug("classpath is: " + System.getProperty("java.class.path"));

//the line that is returning null
... = Thread.currentThread().getContextClassLoader().getResource("foobar");

可能发生的情况是,您认为在类路径上的文件/目录实际上不在(可能在此过程中的某个地方设置了无效的路径)。

票数 16
EN

Stack Overflow用户

发布于 2008-10-31 10:31:50

您可以使用Eclipse-debug-mode并在失败的方法上设置断点。从那里开始,你可以在调用树中一步一步地往下走,直到你看到失败的地方。

最常见的是文件不在那里,因为它没有被复制到那里,或者不在类路径中,等等。

票数 4
EN

Stack Overflow用户

发布于 2008-10-31 10:32:28

getResource调用正在查找与类文件相关的文件。

我的第一个猜测是,当您进行编译时,您忘记将资源文件放入compile文件夹。这就是我经常使用的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/253066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档