【问题标题】:getResource causing NullPointerExceptiongetResource 导致 NullPointerException
【发布时间】:2014-06-09 23:14:07
【问题描述】:

我知道关于这个主题有多个帖子,但我的问题似乎还没有被提出。在任何情况下,我似乎都无法让getResource 正确返回路径位置。它到了我试图找到当前类的路径的地步,甚至这给了我一个空指针异常。以下是我采取的方法列表。

测试项目

  • 源 -klass.java
  • bin -klass.class
  • 资源
  • 库

     public class Klass
     { 
            public void resourceTest()
            {   
                ClassLoader.getSystemResource(Klass.class.getSimpleName() + ".class").toString(); 
                Klass.class.getClass().getResource(Klass.class.getSimpleName() + ".class").toString();
                Klass.class.getClass().getClassLoader().getResource(Klass.class.getSimpleName() + ".class").toString();   
            }
     }
    

如果我做错了什么,请告诉我。我以前用过getResource,所以这让我发疯。谢谢!

【问题讨论】:

  • 你能分享你的项目结构吗?
  • 也许可以试试 this.getClass() 等而不是 Klass.class
  • 所有这些调用都抛出相同的异常,不是吗?
  • Klass 是完全如图所示还是在一个包中?
  • 另外,Klass.class.getClass().getResource(...) 应该是 Klass.class.getResource(...)

标签: java getresource


【解决方案1】:

Klass.class.getClass() 等价于Class.class,因为Klass.class 的类是Class。所以这将尝试在java.lang 包中加载资源。你只想要Klass.class.getResource()。

【讨论】:

    【解决方案2】:

    最后一行有一个 klass.class。尝试使用带有大写 K 的 Klass.class

    【讨论】:

      猜你喜欢
      • 2011-04-17
      • 2014-11-04
      • 1970-01-01
      • 1970-01-01
      • 2016-03-07
      • 2017-05-16
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      相关资源
      最近更新 更多