2012-11-22 36 views
5

Tôi thấy java.lang.NoClassDefFoundError: org/omg/CORBA/InterfaceDef khi tôi gọi phương thức getMethod của số java.lang.Class. Tôi đang cố gắng để có được phương pháp getEmsSession trong EmsSeeionFactory_I của các bình cụ thể TMF bằng cách sử dụng sự phản chiếu. Nhưng khi tôi kiểm tra lớp học trong số jacorb.jar, org/omg/CORBA/InterfaceDef.class có sẵn trên đường dẫn lớp học. Tôi đã thấy trong các diễn đàn khác và tôi không thấy câu trả lời cho cùng một câu hỏi trong các diễn đàn đó. Dường như ngoại lệ này được ném từ mã VM gốc. Tôi không còn manh mối nữa. Bất kỳ ý tưởng? Toàn bộ stack trace như saujava.lang.NoClassDefFoundError: org/omg/CORBA/InterfaceDef

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

là gì về classpath của bạn? – tuergeist

+0

Trình tải lớp của bạn có thể bị nhầm lẫn. Bạn có nhiều hơn một thể hiện cùng một tệp JAR trên đường dẫn lớp của bạn không? – Jeff

Trả lời

2

NoClassDefFoundError có nghĩa là lớp đã được tìm thấy trong thời gian biên dịch nhưng không tìm thấy trong thời gian chạy. Hầu hết thời gian bạn có một sự khác biệt giữa classpath môi trường thời gian chạy của bạn và classpath của môi trường biên dịch của bạn. Và nó sẽ hoạt động sau khi bạn tìm thấy sự khác biệt và sửa chữa nó.

Nếu bạn đã kiểm tra và bạn chắc chắn 100% rằng classpath là như nhau, thì lỗi là khó khăn hơn và bạn có thể đọc hướng dẫn này để giải quyết vấn đề: http://javarevisited.blogspot.be/2011/06/noclassdeffounderror-exception-in.html

+0

Điều này đã khắc phục được sự cố của tôi, cảm ơn bạn! –

Các vấn đề liên quan