2011-01-19 7 views
1

Я использую eclipse для разработки моего приложения. В моем приложении у меня мало проектов, и у этих проектов есть ссылка в проекте EAR.NoClassDefFoundError

В одном из проектов я создал интерфейс и импикцию для этого интерфейса.

Я пытаюсь craete объекта для этого класса

MyInterface myObj = new MyClass(); 

Он не работал, так что я начал сервер в режиме отладки. Я получаю NoClassDefFoundError.

Любая идея, почему я получаю эту ошибку. Я уже добавил новый проект в мой путь построения проекта. Если я пишу

MyInterface myObj = null; 

У меня нет ошибок.

+0

Что * точно * делает исключение выглядит? Какой класс он не может найти? –

+0

добавления пути сборки недостаточно. вам нужно установить путь 'binary' к' WEB-INF/classes'. Если вы используете веб-инструменты, он должен быть настроен автоматически. –

+0

Какие еще классы ссылаются на MyClass? Возможно, вам не хватает библиотеки. –

ответ

0

Проверьте путь к классам, используемый конфигурацией среды выполнения, которую вы используете в Eclipse, которая обычно определяется библиотеками проектов и исходными папками.

Поскольку вы работаете с EAR, вы, вероятно, используете сервер приложений, и вам нужно знать, что большинство из них работают с одним родительским загрузчиком классов и дочерним загрузчиком классов на ухо или войну. Это означает, что если класс, загруженный родительским загрузчиком классов, пытается создать экземпляр класса, который находится только в дочернем загрузчике классов, вы получаете NoClassDefinedError (иначе вы этого не делаете).

+0

Я получаю сообщение eror: что мне делать: кажется странным причудом спецификации EJB. Исключением является: java.lang.NoClassDefFoundError: –

0

Это происходило со мной. Проблема заключалась не в том, что «MyClass» отсутствовал в classpath. То, что отсутствовало в моем случае, было одной из зависимостей внутри MyClass (т. Е. Импорта), и когда конструктор был вызван, он потерпел неудачу.

Проверьте мой родственный вопрос и ответ: Class Constructor fails throwing Exception on Class Loading, а также вопрос до того, что когда все мои проблемы начались: Weird behavior with Constructor and Class. Application hangs `forever` on Constructor