使用的软件: 1- GlassFish 3.1.2 2- JDK 6.0 3- Eclipse Juno Service Release 1
每当我尝试将动态 Web 应用程序添加到 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;
我也尝试过使用 InitailContext + JNDI 查找 EJB 组件,但它是徒劳的,即使它是从一个普通的 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);
}
}
最后管理的 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;
}
}
请帮忙整理一下这个乱七八糟的东西,到目前为止我一直在努力解决这个问题,非常感谢。