Вопрос

Я пытался осматривать публикации, которые могут мне помочь, не могу найти.

Я развертываю ухо на сервер JBOSS4, и у меня началась эта проблема с тех пор, как добавил новый проект.

Этот новый проект определяется как Java Project в Eclipse, и у Ear Project есть проект EJB, который имеет новый проект Java в качестве одного из проектов, как его зависит - при развертывании на jboss локально через Eclipse, нет проблем, и все идет гладко

Но при развертывании в JBoss в тестовой среде (вне затмения) продолжал получать java.lang.noclassdeffounderror на одном из классов, которые определены в новом проекте Java.

Я заглянул в файл уха, чтобы добраться до JAR (EJB Project), а затем внутри JAR я вижу структуру каталогов и все файлы классов из нового проекта Java - т.е. Класс, на который он жалуется, находится прямо в ухе-> банке и соответствует точной структуре, которую он ищет.

Я потерял то, на что еще я могу посмотреть.

Любые указатели высоко ценятся!

Спасибо

Это было полезно?

Решение

Вы часто получаете эту ошибку, если существует несоответствие в том, как были составлены некоторые классы. Например, если вы собрали некоторые классы в более поздней версии JDK без установки уровня соответствия Java, и вы запускаете его с более ранней версией.

Мое предложение состоит в том, чтобы проверить JDK, с которым вы используете JBoss, затем проверить, как вы собрали свои занятия

Другие советы

У меня была такая проблема с JBOSS 4: ClassNotFoundException и NoclassDeffoundError во время выполнения, даже если код хорошо составлен. Мне потребовалось 4 часа, чтобы узнать причину.

Строительница моих проектов была в порядке, проблема была на самом деле в общеске JBoss. Я решил его, выполнив: JBOSS 4.2 Сервер времени выполнения> Открыть конфигурацию запуска> Редактировать конфигурацию> ClassPath> Добавление JARS и проектов для ссылки на JBOSS с «добавлением JARS» / «Добавить проекты».

Eclipse знал занятия в банках и связанных проектах благодаря BuildPath, поэтому в IDE не было ошибок, но сервер JBoss не знал, где найти эти классы ...

Это также может быть связано с проблемами изоляции класса, если у вас есть несколько файлов войны/ушей

Проверьте свой файл уха. такая структура?

myapp.ear
|+ META-INF
   |+ applications.xml and jboss-app.xml
|+ myapp.war
   |+ web pages and JSP /JSF pages
   |+ WEB-INF
      |+ web.xml, jboss-web.xml, faces-config.xml etc.
      |+ lib
         |+ tag library JARs
      |+ classes
         |+ servlets and other classes used by web pages
|+ myapp.jar
   |+ EJB3 bean classes
   |+ META-INF
      |+ ejb-jar.xml and persistence.xml
|+ lib
   |+ Library JARs for the EAR

Если нет, вы должны переупаковать свой файл уха.

Проверьте свойство "Класс-пут:" в META-INF/MANIFEST.MF.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top