You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Lin Sun (JIRA)" <de...@geronimo.apache.org> on 2005/10/20 16:04:06 UTC

[jira] Commented: (GERONIMO-1089) Deployer failed to deploy certain applications if geronimo is installed to a directory that has space

    [ http://issues.apache.org/jira/browse/GERONIMO-1089?page=comments#action_12332589 ] 

Lin Sun commented on GERONIMO-1089:
-----------------------------------

>From the geronimo.log, here's the stack trace:

org.apache.geronimo.common.DeploymentException: Could not access contents of a connector
	at org.apache.geronimo.j2ee.deployment.EARConfigBuilder.addModules(EARConfigBuilder.java:618)
	at org.apache.geronimo.j2ee.deployment.EARConfigBuilder.getEarPlan(EARConfigBuilder.java:222)
	at org.apache.geronimo.j2ee.deployment.EARConfigBuilder.getDeploymentPlan(EARConfigBuilder.java:118)
	at org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(<generated>)
	at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
	at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
	at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
	at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:760)
	at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
	at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36)
	at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
	at org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$8327c217.getDeploymentPlan(<generated>)
	at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:145)
	at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:91)
	at org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(<generated>)
	at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
	at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
	at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
	at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:795)
	at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:181)
	at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
	at org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
	at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
	at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
	at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
	at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:795)
	at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:181)
	at org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117)
	at mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
	at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
	at mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
	at mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99)
	at mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31)
	at mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90)
	at java.security.AccessController.doPrivileged1(Native Method)
	at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
	at javax.security.auth.Subject.doAsPrivileged(Subject.java:709)
	at mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
	at mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86)
	at mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80)
	at $Proxy0.invoke(Unknown Source)
	at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
	at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:279)
	at sun.rmi.transport.Transport$1.run(Transport.java:164)
	at java.security.AccessController.doPrivileged1(Native Method)
	at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
	at sun.rmi.transport.Transport.serviceCall(Transport.java:160)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:505)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTransport.java:837)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:911)
	at java.lang.Thread.run(Thread.java:570)
Caused by: java.util.zip.ZipException: The system cannot find the path specified E:\program%20files\geronimo-1.0-M5\repository\tranql\rars\tranql-connector-derby-embed-xa-1.0.rar
	at java.util.zip.ZipFile.open(Native Method)
	at java.util.zip.ZipFile.<init>(ZipFile.java:140)
	at java.util.jar.JarFile.<init>(JarFile.java:160)
	at java.util.jar.JarFile.<init>(JarFile.java:98)
	at org.apache.geronimo.j2ee.deployment.EARConfigBuilder.addModules(EARConfigBuilder.java:616)
	... 59 more

I changed my geronimo home directory to \program files\geronimo-1.0-M5.    Looked at the EARConfigBuilder.java file and added some debug prints.   Seems the problem lies in the repository.getURL(pathURI) function:

                    try {
                        pathURL = repository.getURL(pathURI);   
                    	System.out.println("***linsun***pathURI " + pathURI);     
                    	System.out.println("***linsun***pathURL " + pathURL);                
                    } catch (MalformedURLException e) {
                        throw new DeploymentException("Could not locate " + moduleTypeName + " in repository", e);
                    }
                    try {
                        moduleFile = new JarFile(pathURL.getFile());
                    } catch (IOException e) {
                        throw new DeploymentException("Could not access contents of " + moduleTypeName, e);
                    }


Here is the output of the two println statements:

***linsun***pathURI tranql/rars/tranql-connector-derby-embed-xa-1.0.rar
***linsun***pathURL file:/E:/program%20files/geronimo-1.0-M5/repository/tranql/rars/tranql-connector-derby-embed-xa-1.0.rar

I looked at Repository.java and found out it is an Interface and doesn't contain any implementation of getURL() method.

Will look more into this...




> Deployer failed to deploy certain applications if geronimo is installed to a directory that has space
> -----------------------------------------------------------------------------------------------------
>
>          Key: GERONIMO-1089
>          URL: http://issues.apache.org/jira/browse/GERONIMO-1089
>      Project: Geronimo
>         Type: Bug
>   Components: deployment
>     Versions: 1.0-M5
>  Environment: Windows + Tomcat 
>     Reporter: Lin Sun

>
> My geronimo is at directory e:\program files\geronimo\modules\assembly\target\geronimo-1.0-M5.  When I deployed daytrader, I got the following failure:
> e:\program files\geronimo\modules\assembly\target\geronimo-1.0-M5\bin>deploy.bat
>  deploy "\program files\sandbox\samples\Trade\daytrader-ear-1.0-SNAPSHOT.ear" "\
> program files\sandbox\samples\Trade\dayTrader-plan.xml"
> Username: system
> Password:
>     Error: Unable to distribute daytrader-ear-1.0-SNAPSHOT.ear: Bad path
>     to external module, a connector caused by Illegal character in
>     opaque part at index 2: e:\program
>     files\geronimo\modules\assembly\target\geronimo-1.0-M5\repository\tranql/rar
> s/tranql-connector-derby-embed-xa-1.0.rar
> This is caused by deployer not able to handle the "       <external-path>tranql/rars/tranql-connector-derby-embed-xa-1.0.rar</external-path>" element specified in the daytrader-plan.xml.   
> If I broke the daytrader database resource plan to a seperate plan, I can deploy the TradeDataSource as the workaround:
> e:\program files\geronimo\modules\assembly\target\geronimo-1.0-M5\bin>deploy.bat
>  deploy "\program files\sandbox\samples\Trade\dayTrader-dbplan.xml" ..\repositor
> y\tranql\rars\tranql-connector-derby-embed-xa-1.0.rar
> Username: system
> Password:
>     Deployed TradeDataSource
> Similar problem happens with the "<external-rar>activemq/rars/activemq-ra-3.2-M1.rar</external-rar>" element.
> I don't mind digging more into this...any help/hints is appreciated.   I figure I should start at deployer.log, but I didn't see a deployer.log generated.    

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira