当我调用java.lang.NoClassDefFoundError: org/omg/CORBA/InterfaceDef
的方法getMethod
时,我看到java.lang.Class
。我正在尝试使用反射在getEmsSession
TMF特定jar中获取EmsSeeionFactory_I
方法。但是当我在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)
答案 0 :(得分:3)
NoClassDefFoundError表示在编译期间找到了该类,但在运行时未找到该类。 大多数情况下,运行时环境的类路径与编译环境的类路径之间存在差异。并且在找到差异并修复它之后它会起作用。
如果您已经检查并且您100%确定类路径是相同的,那么错误更加棘手,您可以阅读本教程来解决问题: http://javarevisited.blogspot.be/2011/06/noclassdeffounderror-exception-in.html