Sunday, September 26, 2010

weblogic.application.ModuleException: Exception preparing module: EJBModule(ModelEJB.jar) No EJBs found in the ejb-jar file 'ModelEJB.jar'. Please ensure the ejb-jar contains EJB declarations via an ejb-jar.xml deployment descriptor or at least one class annotated with the @Stateless, @Stateful or @MessageDriven EJB annotation..'

Tools: 
Studio Edition Version 11.1.1.3.0, EJB3.0, Adf faces


When I was trying to deploy the application I was having following error

<Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1285491833557' for task '5'. Error is: 'weblogic.application.ModuleException: Exception preparing module: EJBModule(ModelEJB.jar)

[EJB:011023]An error occurred while reading the deployment descriptor. The error was:

No EJBs found in the ejb-jar file 'ModelEJB.jar'. Please ensure the ejb-jar contains EJB declarations via an ejb-jar.xml deployment descriptor or at least one class annotated with the @Stateless, @Stateful or @MessageDriven EJB annotation..'

weblogic.application.ModuleException: Exception preparing module: EJBModule(ModelEJB.jar)

[EJB:011023]An error occurred while reading the deployment descriptor. The error was:

No EJBs found in the ejb-jar file 'ModelEJB.jar'. Please ensure the ejb-jar contains EJB declarations via an ejb-jar.xml deployment descriptor or at least one class annotated with the @Stateless, @Stateful or @MessageDriven EJB annotation..

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: No EJBs found in the ejb-jar file 'ModelEJB.jar'. Please ensure the ejb-jar contains EJB declarations via an ejb-jar.xml deployment descriptor or at least one class annotated with the @Stateless, @Stateful or @MessageDriven EJB annotation.

at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:219)

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)

at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)

Truncated. see log file for complete stacktrace

>

weblogic.application.ModuleException: Exception preparing module: EJBModule(ModelEJB.jar)

[EJB:011023]An error occurred while reading the deployment descriptor. The error was:

No EJBs found in the ejb-jar file 'ModelEJB.jar'. Please ensure the ejb-jar contains EJB declarations via an ejb-jar.xml deployment descriptor or at least one class annotated with the @Stateless, @Stateful or @MessageDriven EJB annotation..

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: No EJBs found in the ejb-jar file 'ModelEJB.jar'. Please ensure the ejb-jar contains EJB declarations via an ejb-jar.xml deployment descriptor or at least one class annotated with the @Stateless, @Stateful or @MessageDriven EJB annotation.

at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:219)

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)

at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)

Truncated. see log file for complete stacktrace

>

[12:03:53 PM] #### Deployment incomplete. ####

[12:03:53 PM] Remote deployment failed


Solution:
In my case i solved this issue as 
simply right click on your viewController in Jdeveloper click on properties select depandancies and select Model and check build output as below. :)