2012-11-22 15 views
5

Podczas wywołania metody getMethod z java.lang.Class widzę java.lang.NoClassDefFoundError: org/omg/CORBA/InterfaceDef. Próbuję uzyskać metodę w słoikach specyficznych dla TMF za pomocą odbicia. Ale gdy sprawdziłem, czy klasa w klasie jacorb.jar, org/omg/CORBA/InterfaceDef.class jest dostępna na ścieżce klasy. Widziałem na innych forach i nie widzę odpowiedzi na to samo pytanie na tych forach. Wygląda na to, że ten wyjątek jest generowany z natywnego kodu VM. Teraz nie mam pojęcia. Jakieś pomysły ? Kompletna ślad stosu jest poniżejjava.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

Co to jest o ścieżce klas? – tuergeist

+0

Twój program ładujący klasy może być zdezorientowany. Czy masz więcej niż jedną instancję tego samego pliku JAR na ścieżce klas? – Jeff

Odpowiedz

2

NoClassDefFoundError oznacza, że ​​klasa została znaleziona podczas kompilacji, ale nie został znaleziony podczas wykonywania. W większości przypadków różnica między ścieżką klas a środowiskiem wykonawczym a ścieżką klasy środowiska kompilacyjnego. I zadziała, gdy znajdziesz różnicę i naprawisz ją.

Jeśli sprawdziłeś i jesteś w 100% pewien, że ścieżka klasy są takie same, to błąd jest bardziej skomplikowane i można przeczytać ten poradnik, aby rozwiązać problem: http://javarevisited.blogspot.be/2011/06/noclassdeffounderror-exception-in.html

+0

To naprawiło mój problem, dziękuję! –