【问题标题】:java.lang.NoClassDefFoundError: org/omg/CORBA/InterfaceDefjava.lang.NoClassDefFoundError: org/omg/CORBA/InterfaceDef
【发布时间】:2012-11-11 03:14:03
【问题描述】:

当我调用java.lang.Class 的方法getMethod 时,我看到了java.lang.NoClassDefFoundError: org/omg/CORBA/InterfaceDef。我正在尝试使用反射在 TMF 特定 jar 的 EmsSeeionFactory_I 中获取 getEmsSession 方法。但是当我检查jacorb.jar 中的类时,org/omg/CORBA/InterfaceDef.class 在类路径上可用。我在其他论坛上看到过,在这些论坛中我也没有看到相同问题的答案。看起来这个异常是从本机 VM 代码中抛出的。我现在一无所知。有任何想法吗 ?完整的堆栈跟踪如下

java.lang.NoClassDefFoundError: org/omg/CORBA/InterfaceDef
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
        at java.lang.Class.getMethod0(Class.java:2670)
        at java.lang.Class.getMethod0(Class.java:2688)
        at java.lang.Class.getMethod(Class.java:1603)

【问题讨论】:

  • 你的类路径怎么样?
  • 您的类加载器可能会混淆。您的类路径中是否有多个相同 JAR 文件的实例?

标签: java reflection noclassdeffounderror corba


【解决方案1】:

NoClassDefFoundError 表示在编译时找到了该类,但在运行时未找到。 大多数情况下,运行时环境的类路径和编译环境的类路径之间存在差异。在你找到差异并修复它之后它会起作用。

如果您检查过并且 100% 确定类路径相同,则错误更棘手,您可以阅读本教程来解决问题: http://javarevisited.blogspot.be/2011/06/noclassdeffounderror-exception-in.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    • 2018-12-05
    • 1970-01-01
    • 2021-01-10
    • 1970-01-01
    • 2015-06-02
    • 2013-01-10
    相关资源
    最近更新 更多