【问题标题】:getClass().getClassLoader().getResourceAsStream is throwing a NullPointerExceptiongetClass().getClassLoader().getResourceAsStream 正在抛出 NullPointerException
【发布时间】:2010-11-22 09:44:07
【问题描述】:

在 Java 中 getClass().getClassLoader() 怎么可能返回 null?

  • “类”所在的 jar 是 不位于 common/lib 下。
  • jar 没有被 boostrap 加载。

jar 中所有类的 ClassLoader 为空。

【问题讨论】:

  • 查阅标准 javadoc 是一种失传的艺术吗?
  • 骂人真的没必要
  • 显然两者都没有咨询文档...

标签: java null classpath classloader


【解决方案1】:

来自documentation...

public ClassLoader getClassLoader()

返回类加载器 班级。一些实现可能使用 null 表示引导类 装载机。此方法将返回 null 在这样的实现中,如果这个类 由引导类加载 装载机。

...

如果此对象表示原始类型或 void,则返回 null。

【讨论】:

  • 您需要作为引导类运行(例如,使用 -Xbootclasspath/a:
  • 谢谢,我知道我可能遗漏了一些普通的东西并且使问题过于复杂。让我们希望这能解决我真正的问题。
  • 我正在尝试帮助另一个遇到此问题的开发人员。我希望这能解决它,但不幸的是它没有。他们没有引导加载任何东西。任何其他建议都会有所帮助。他们正在使用 Spring 加载调用 getClass().getClassLoader() 返回 null 的代码的类
【解决方案2】:

你在用endorsed standards吗?我相信这会导致类被引导类加载器加载,即使您可能没有明确使用 -Xbootclasspath。

【讨论】:

    猜你喜欢
    • 2016-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-09
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    相关资源
    最近更新 更多