今天下了个EJB的小例子,但部署到Weblogic后启动报错,大家帮看看,我是用MyEclipse8.5的Weblogic插件部署的。
<2012-9-10 下午10时03分01秒 CST> <Error> <Deployer> <BEA-149265> <
Failure occurred in the execution of deployment request with ID '1347285780751' for task '0'. Error is: 'weblogic.application.ModuleException: Exception preparing module: EJBModule(ejb01)
[EJB:011023]
An error occurred while reading the deployment descriptor. The error was:
: java.lang.NullPointerException.'
weblogic.application.ModuleException: Exception preparing module: EJBModule(ejb01)
[EJB:011023]
An error occurred while reading the deployment descriptor. The error was:
: java.lang.NullPointerException.
at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:467)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:507)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:149)
Truncated. see log file for complete stacktrace
Caused By: java.io.IOException: : java.lang.NullPointerException
at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.processStandardAnnotations(EjbDescriptorReaderImpl.java:352)
at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:204)
at weblogic.ejb.spi.EjbDescriptorFactory.createReadOnlyDescriptorFromJarFile(EjbDescriptorFactory.java:93)
at weblogic.ejb.container.deployer.EJBModule.loadEJBDescriptor(EJBModule.java:1242)
at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:395)
Truncated. see log file for complete stacktrace
>
其中ejb01是项目名,代码如下:
FirstEjb接口:
package com.bjsxt.ejb;
import javax.ejb.Remote;
import javax.ejb.Stateless;
@Stateless
@Remote
public interface FirstEjb {
public int saySomethin(int i);
public int getResult();
public int getState();
}
FirstEjbBean代码:
package com.bjsxt.ejb;
import javax.ejb.Remote;
import javax.ejb.Stateless;
@Stateless(name="firstEjb")
@Remote
public class FirstEjbBean implements FirstEjb{
private int state;
public int getResult(){
return state;
}
public int saySomethin(int i) {
// TODO Auto-generated method stub
state = state + i;
System.out.println("state = " + state);
return state;
}
public int getState() {
return state;
}
public void setState(int state) {
this.state = state;
}
}