программное обеспечение, используемое: 1- GlassFish 3.1.2 2- JDK 6,0 3 Затмение Juno Service Release 1Не удается развернуть веб-приложение, имеющее EJB компонент впрыскивается
всякий раз, когда я пытаюсь добавлять мой динамический веб-приложение для GlassFish это исключение в всплывающем окне:
SEVERE: Exception while loading the app : java.lang.IllegalStateException:
ContainerBase.addChild: start: org.apache.catalina.LifecycleException:
java.lang.RuntimeException: java.lang.NoClassDefFoundError:
Lcoreservlets/bean/NumberService;
Я попытался также отрываясь компонент EJB с помощью InitailContext + JNDI напрасно, даже так он работал с обычного проекта Java.
Я пробовал GlassFish 3.1.1, а также последнее средство, но ничего не делая.
Может вы смотрите через мой исходный код и скажите мне, что идет не так:
для начала, мой POJI:
package coreservlets.bean;
import javax.ejb.*;
@Remote
public interface NumberService {
public double getNumber(double range);
}
вторых EJB POJO:
package coreservlets.bean;
import javax.ejb.*;
@Stateless(mappedName="NumberCreator")
public class NumberServiceBean implements NumberService {
public double getNumber(double range) {
return(Math.random() * range);
}
}
Наконец Managed Bean :
package beans;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import coreservlets.bean.NumberService;
@ManagedBean
@RequestScoped
public class MyBean {
@EJB private NumberService service;
private Double luckyNumber;
public Double getLuckyNumber() {
luckyNumber = service.getNumber(Math.random() * 100);
return luckyNumber;
}
}
Пожалуйста, протяните руку, разобрав этот беспорядок, потому что я пытался понять это на пару дней, я очень благодарен.
Посмотрите на сообщение об исключении. Проблема не в классе MyBean. Проблема заключается в классе «NumberService». «NoClassDefFoundError» в основном означает, что его файл '.class' не может быть найден или, по крайней мере, что класс не может быть загружен с помощью класса # forName()'. Вероятные причины этого должны теперь стать очень очевидными: ошибка компиляции или не помещается в путь к классам, или она выбрала исключение в некотором 'static' field/initializer. Вам нужно отредактировать и улучшить свой вопрос, чтобы опубликовать информацию о вашем классе «NumberService» вместо вашего «MyBean». – BalusC
Я заметил проблему с NumberService, сэр, но все дело в том, почему это происходит, однако я уже добавил проект EJB в свой класс динамических веб-проектов. – Rehme
@BalusC Не могли бы вы расслабиться здесь, пожалуйста, я поддержал свой вопрос с большим количеством кода, как вы предложили, спасибо. – Rehme