Hi Gianny, Thanks for looking into the issue.
Its systematic failure. I was running with jdk1.4.2_03 on windows-xp. Its strange that it worked for you. As per my debugging the failure was because Geronimo was trying to open file as output file under a subdirectory though sub-directory was not present and thus causing this failure. Though as per JavaDocs we are throwing proper exception but I think we should be able to handle EJB's deployed as part of applications and jar file for the EJB is under sub-directory. Also if you look at the fix I submitted its really simple fix. What the fix does is it ensures that before creating output file, entire directory structure is present. And my feeling is if it worked for you, it might not work for someone else (like me :-) ) Cheers, Sandip --- "Gianny DAMOUR (JIRA)" <[EMAIL PROTECTED]> wrote: > [ > http://issues.apache.org/jira/browse/GERONIMO-602?page=comments#action_60679 > ] > > Gianny DAMOUR commented on GERONIMO-602: > ---------------------------------------- > > Just a quick question for you Sandip: is it a > systematic failure or is it only transient? > > Based on the JavaDoc (see below), it seems to me > that the implementation should work "as is". > > " > @exception FileNotFoundException if the file > exists but is a directory rather than a regular > file, does not exist but cannot be created, or > cannot be opened for any other reason. > " > > I tried the provided EAR also on Windows and it was > OK. > > I am using: > Java(TM) 2 Runtime Environment, Standard Edition > (build 1.4.2-b28) > Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed > mode) > > on Windows XP. > > > > Ear deployment fails when EJB Jar is in > subdirectory > > > ---------------------------------------------------- > > > > Key: GERONIMO-602 > > URL: > http://issues.apache.org/jira/browse/GERONIMO-602 > > Project: Geronimo > > Type: Bug > > Components: deployment > > Versions: 1.0-M4 > > Environment: Windows XP, Code version# 156064 > > Reporter: Sandip Ghayal > > Attachments: TestApplication.ear, > deployment_sg.txt > > > > When deploying Attached Ear file where EJB is > located under sub directory one would get errors > like > > java.io.FileNotFoundException: > F:\geronimo\geronimo\modules\assembly\target\gero > > > nimo-1.0-SNAPSHOT\config-store\17\testApplication\testEJB.jar > (The system cannot > > find the path specified) > > at java.io.FileOutputStream.open(Native > Method) > > at > java.io.FileOutputStream.<init>(FileOutputStream.java:179) > > at > java.io.FileOutputStream.<init>(FileOutputStream.java:131) > > at > org.apache.geronimo.deployment.util.DeploymentUtil.copyFile(Deploymen > > tUtil.java:92) > > at > org.apache.geronimo.deployment.util.DeploymentUtil.copyToPackedJar(De > > ploymentUtil.java:192) > > at > org.apache.geronimo.deployment.DeploymentContext.addIncludeAsPackedJa > > r(DeploymentContext.java:238) > > at > org.openejb.deployment.OpenEJBModuleBuilder.installModule(OpenEJBModu > > leBuilder.java:288) > > at > org.openejb.deployment.OpenEJBModuleBuilder$$FastClassByCGLIB$$11bd7b > > 20.invoke(<generated>) > > at > net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > > at > org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethod > > Invoker.java:38) > > at > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperatio > > n.java:118) > > at > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance. > > java:710) > > at > org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:5 > > 7) > > at > org.apache.geronimo.kernel.proxy.RawOperationInvoker.invoke(RawOperat > > ionInvoker.java:36) > > at > org.apache.geronimo.kernel.proxy.ProxyMethodInterceptor.intercept(Pro > > xyMethodInterceptor.java:92) > > at > org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$3 > > 80f6faf.installModule(<generated>) > > at > org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfigurati > > on(EARConfigBuilder.java:316) > > at > org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLI > > B$$38e56ec6.invoke(<generated>) > > at > net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > > at > org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethod > > Invoker.java:38) > > at > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperatio > > n.java:118) > > at > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance. > > java:710) > > at > org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:5 > > 7) > > at > org.apache.geronimo.kernel.proxy.RawOperationInvoker.invoke(RawOperat > > ionInvoker.java:36) > > at > org.apache.geronimo.kernel.proxy.ProxyMethodInterceptor.intercept(Pro > > xyMethodInterceptor.java:92) > > at > org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$ > > $661d6fa5.buildConfiguration(<generated>) > > at > org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:172) > > at > org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:85) > > at > org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.i > > nvoke(<generated>) > > at > net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > > at > org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethod > > Invoker.java:38) > > at > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperatio > > n.java:118) > > at > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance. > > java:745) > > at > org.apache.geronimo.kernel.Kernel.invoke(Kernel.java:299) > > at > org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:121) > > at > org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.in > > voke(<generated>) > > at > net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > > at > org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethod > > Invoker.java:38) > > at > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperatio > > n.java:118) > > at > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance. > > java:745) > > at > org.apache.geronimo.kernel.Kernel.invoke(Kernel.java:299) > > at > org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServer > > Delegate.java:117) > > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnecti > > onImpl.java:1408) > > at > javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectio > > nImpl.java:81) > > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run > > (RMIConnectionImpl.java:1245) > > at > java.security.AccessController.doPrivileged(Native > Method) > > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(R > > MIConnectionImpl.java:1348) > > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImp > > l.java:782) > > at > sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. > > java:39) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces > > sorImpl.java:25) > > at > java.lang.reflect.Method.invoke(Method.java:585) > === message truncated === __________________________________ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/
