Thanks Chris for getting back to me on.
I had actually tried to define the value for catalina.home explicitely in catalina.properties file, but I still can't get this working. In catalina.properties file, my "common.loader" entry has 4 paths as listed below. common.loader=${catalina.home}/common/classes,${catalina.home}/common/i1 8n/*.jar,${catalina.home}/common/endorsed/*.jar,${catalina.home}/common/ lib/*.jar With this definition, I got the following stacktrace: 2007-09-26 13:53:13,000 ERROR [Thread-6] rmidispatcher.TCTTaskDispatcherImpl - java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.net.MalformedURLException: no protocol: Files/thirdparty/TOMCAT/common/classes/ at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) at sun.rmi.transport.Transport$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Unknown Source) at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) at java.lang.Thread.run(Unknown Source) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source) at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source) at sun.rmi.server.UnicastRef.invoke(Unknown Source) at com.cisco.ccm.serviceability.tct.tctservice.serviceengine.TCTServiceImpl _Stub.addTCTTaskDispatcher(Unknown Source) at com.cisco.ccm.serviceability.tct.tctservlet.rmidispatcher.TCTTaskDispatc herImpl.resetConnection(TCTTaskDispatcherImpl.java:153) at com.cisco.ccm.serviceability.tct.tctservlet.rmidispatcher.TCTTaskDispatc herImpl$TCTServicePingThread.run(TCTTaskDispatcherImpl.java:408) Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.net.MalformedURLException: no protocol: Files/thirdparty/TOMCAT/common/classes/ at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) at sun.rmi.transport.Transport$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Unknown Source) at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.net.MalformedURLException: no protocol: Files/thirdparty/TOMCAT/common/classes/ at java.net.URL.<init>(Unknown Source) at java.net.URL.<init>(Unknown Source) at java.net.URL.<init>(Unknown Source) at sun.rmi.server.LoaderHandler.pathToURLs(Unknown Source) at sun.rmi.server.LoaderHandler.loadClass(Unknown Source) at java.rmi.server.RMIClassLoader$2.loadClass(Unknown Source) at java.rmi.server.RMIClassLoader.loadClass(Unknown Source) at sun.rmi.server.MarshalInputStream.resolveClass(Unknown Source) at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source) at java.io.ObjectInputStream.readClassDesc(Unknown Source) at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.readObject(Unknown Source) at sun.rmi.server.UnicastRef.unmarshalValue(Unknown Source) ... 7 more If I replace "${catalina.home}" with "C:/Program~1/thirdparty/TOMCAT" for the first path, I'll get MalformedURLException exception again for the second path. If I made the same change for the first 2 paths, I'll get the same exception complaining about the third path. If I do this for the first 3 paths, the same exception points to the last path. When I made the same change for all 4 paths, Tomcat failed to start. I got the following error in catalina.* log: Sep 25, 2007 9:59:23 AM org.apache.tomcat.util.digester.Digester startElement SEVERE: Begin event threw error java.lang.NoClassDefFoundError: org/apache/naming/TransactionRef at org.apache.catalina.core.StandardServer.<init>(StandardServer.java:92) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule. java:205) at org.apache.tomcat.util.digester.Rule.begin(Rule.java:152) at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1275 ) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElemen t(Unknown Source) at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement (Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.s canStartElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDi spatcher.scanRootElementHook(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$F ragmentContentDispatcher.dispatch(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.s canDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unkn own Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unkn own Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unkno wn Source) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1561) at org.apache.catalina.startup.Catalina.load(Catalina.java:489) at org.apache.catalina.startup.Catalina.load(Catalina.java:523) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:266) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431) One more thing: I don't see any of the above exceptions if I don't deploy my servlet that uses RMI. Other servlets that are not using RMI seem to work fine. I'm not sure if this issue is triggered when RMI is used within Tomcat and when Tomcat is installed under a directory with spaces. The postings I found mentioned the use of RMI. - Jeffrey Nguyen -----Original Message----- From: Christopher Schultz [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 26, 2007 6:53 AM To: Tomcat Users List Subject: Re: java.net.MalformedURLException: no protocol: Files/thirdparty/TOMCAT/common/classes/ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Jeffrey, Jeffrey Nguyen (jeffrngu) wrote: > common.loader=${catalina.home}/common/classes,${catalina.home}/common/ > i1 > 8n/*.jar,${catalina.home}/common/endorsed/*.jar,${catalina.home}/commo > n/ > lib/*.jar > > where "catalina.home" is resolved to "C:/Program > Files/thirdparty/TOMCAT" > > I did some Google search and found some postings similar to the ones > listed below. They seem to suggest that I would run into this problem > if Tomcat was installed under a directory with spaces in it. Yes, for some reason spaces in path names are frequently the cause of lots of head-scratching. I'm not sure if it's strictly a win32 issue or not, but a lot of win32 folks seem to have this problem. Something you could try is explicitly setting the value of the CATALINA_HOME environment variable, and be sure to use the 8.3-equivalent of the path for the value. For instance: set CATALINA_HOME=C:\PROGRA~1\thirdparty\TOMCAT %CATALINA_HOME%\bin\startup.bat I realize you might be using Tomcat as a service, so you'll have to figure out how to get the same effect with the service launcher thing. Another option, of course, is to install Tomcat into a directory with no spaces in the path. Hope that helps, - -chris -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFG+mRH9CaO5/Lv0PARAmCJAKCnwaMZ0hFXxHubkPLsUk0z8s3/KACdHN5d /aLUm/nhKsFfDTZ2JxSFFKE= =N4rL -----END PGP SIGNATURE----- --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]