使用したソフトウェア: 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;
}
}
この 混乱 を 整理 する 手を 貸して ください . 私 は これ まで 数 日間 解決 し よう と し て い た .