You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Gianny DAMOUR (JIRA)" <de...@geronimo.apache.org> on 2005/03/13 00:09:52 UTC

[jira] Closed: (GERONIMO-602) Ear deployment fails when EJB Jar is in subdirectory

     [ http://issues.apache.org/jira/browse/GERONIMO-602?page=history ]
     
Gianny DAMOUR closed GERONIMO-602:
----------------------------------

     Resolution: Fixed
    Fix Version: 1.0-M4

Thanks for this patch Sandip.

> 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
>     Assignee: Gianny DAMOUR
>      Fix For: 1.0-M4
>  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)
>         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
>         at sun.rmi.transport.Transport$1.run(Transport.java:153)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
>         at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
> 60)
>         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
> .java:701)
>         at java.lang.Thread.run(Thread.java:595)
> On investigation it was found that the copy method in the DeploymentUtil.java didn't handle directories and sub-directories properly.
> Modified the code to handle sub-directories properly and have attached the fix for it.
> I am no sure about standard Geronimo uses for File.separatorChar so I have replaced all possible File Separators with System specific separators. 
> Can some one review this fix and if have issues then open up discussion.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira