Cannot deploy Ear with ejb 3.0 with 2.1 Home interface when the interfaces are une an ejb client jar
I have an EAR which contains an EJB 3.0 archive. I have added a RemoteHome and component interface for some of these 3.0 enterprise session beans. If I put everything in the same jar (interfaces + implementation classes) everything is working. However, if I put the Home and component interfaces in a ejb-client jar file as explained in the spec, it's not possible anymore to deploy the ear and Jonas is not able to find the EJB Home interfaces.
Here is the error I get : 2009-11-26 15:27:19,933 : INFO : http-8996-4 : J2EEServer.__sendFile : sendFile return directoryUploadedFile= c:\local\jonas-full-5.1.0\deploy\HelloEar.ear 2009-11-26 15:27:26,180 : WARNING : Thread-11 : EARDeployableImpl.resolveClassPath : Deployable EJB3DeployableImpl[archive=C:\local\jonas-full-5.1.0\work\apps\jonas\HelloEar_2009.11.26-15.27.19.ear\HelloEJB.jar] is marked as LibraryDeployable in MANIFEST Class-Path: entry but this is a Java EE module. 2009-11-26 15:27:27,140 : SEVERE : Thread-11 : DeployableMonitor.checkNewArchives : Problem when trying to find and deploy new archives org.ow2.jonas.deployablemonitor.DeployableMonitorException: RuntimeException when deploying the deployable 'EARDeployableImpl[archive=C:\local\jonas-full-5.1.0\deploy\HelloEar.ear]' at org.ow2.jonas.deployablemonitor.DeployableMonitor.detectNewArchives(DeployableMonitor.java:493) at org.ow2.jonas.deployablemonitor.DeployableMonitor.access$000(DeployableMonitor.java:68) at org.ow2.jonas.deployablemonitor.DeployableMonitor$1.execute(DeployableMonitor.java:272) at org.ow2.jonas.deployablemonitor.DeployableMonitor$1.execute(DeployableMonitor.java:271) at org.ow2.jonas.lib.execution.RunnableHelper.execute(RunnableHelper.java:60) at org.ow2.jonas.deployablemonitor.DeployableMonitor.checkNewArchives(DeployableMonitor.java:278) at org.ow2.jonas.deployablemonitor.DeployableMonitor.run(DeployableMonitor.java:179) Caused by: java.lang.IllegalStateException: Cannot find the class 'jee/example/hello/HelloHome' referenced as an home/localhome interface at org.ow2.easybeans.deployment.annotations.helper.bean.EJB21Finder.getInterfacesFromHome(EJB21Finder.java:193) at org.ow2.easybeans.deployment.annotations.helper.bean.EJB21Finder.resolve(EJB21Finder.java:104) at org.ow2.easybeans.deployment.annotations.helper.ResolverHelper.resolve(ResolverHelper.java:88) at org.ow2.easybeans.deployment.Deployment.analyze(Deployment.java:159) at org.ow2.easybeans.container.JContainer3.resolve(JContainer3.java:279) at org.ow2.jonas.ear.internal.EarDeployer.doDeploy(EarDeployer.java:737) at org.ow2.util.ee.deploy.impl.deployer.AbsDeployer.deploy(AbsDeployer.java:89) at org.ow2.util.ee.deploy.impl.deployer.DeployerManager.deploy(DeployerManager.java:129) at org.ow2.jonas.deployablemonitor.DeployableMonitor.detectNewArchives(DeployableMonitor.java:477)