> -----Original Message----- > From: André Warnier [mailto:a...@ice-sa.com] > Sent: Wednesday, July 31, 2013 12:27 PM > To: Tomcat Users List > Subject: Re: Cannot start apache tomcat 7.0 if server path contains two > consecutive spaces. > > TRAN Trung Thanh wrote: > > Hi all, > > I am newbie here. > > Today, I tried to start apache tomcat 7.0.42 in Linux environment. > > Server path contains two consecutive spaces. When I run ./catalina.sh > > run, server cannot start and there is the following exception in > > console > > > > ./catalina.sh run > > Using CATALINA_BASE: /home/example/twoconsecutive spaces > > Using CATALINA_HOME: /home/example/twoconsecutive spaces > > Using CATALINA_TMPDIR: /home/example/twoconsecutive spaces/temp > > Using JRE_HOME: /home/example/java/jdk1.6 > > Using CLASSPATH: /home/example/twoconsecutive > > spaces/bin/bootstrap.jar:/home/example/twoconsecutive > > spaces/bin/tomcat-juli.jar > > Exception in thread "main" java.lang.NoClassDefFoundError: > > org/apache/catalina/startup/Bootstrap > > Caused by: java.lang.ClassNotFoundException: > > org.apache.catalina.startup.Bootstrap > > at java.net.URLClassLoader$1.run(URLClassLoader.java:202) > > at java.security.AccessController.doPrivileged(Native Method) > > at java.net.URLClassLoader.findClass(URLClassLoader.java:190) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:247) > > Could not find the main class: org.apache.catalina.startup.Bootstrap. > > Program will exit. > > > > Tomcat server can start if server path does not contain consecutive > space. > > > > Do anyone face to the same issue with me in this case? Have you any > > suggestion to fix this issue? > > Yes : don't do that (using spaces in paths). > > It is quite important for my deployment. > > > > That's a pity. > Spaces in paths (and filenames) are evil, and should never have been > allowed in the first place. A special place in hell is reserved for > the genius who first allowed this stupid thing in an OS. I wish I had > 0.1 cent for every programming hour lost because of this. > > Technically, you can certainly find the correct way to quote them in > any particular place and environment. But usually, this is merely > moving the problem to some other place further down the line, where it > is even less visible and harder to find the bugs. > I suppose the same could be said about any non-visible character, but > spaces (along with > TAB) are specially evil because in most environments, they are > considered either as valid separators between words/tokens or as "non- > significant". > > My serious recommendation would be to think really hard about a way to > nip this in the bud, and avoid allowing them and using them in the > first place. > Think that if you allow them somewhere, and even if you quote them > correctly there, you will have to continue quoting them (appropriately) > everywhere else that you are using the corresponding strings. It is > almost guaranteed that this will bite you somewhere. > >
Agree with everything Andre says here. Even under Windows, where the OS seems to handle it fine, as long as you're in the GUI, it is a problem. You have to remember to quote the path everytime you want to use it at the command line level, or in PowerShell, etc. It is really easier to remember that if you want the look of a space, but need a non-printable character, to just use the underbar. How much easier things could be if instead of "My Documents" you could write My_Documents. Still looks like two words but it is only one. As long as you have control over the naming, you should follow this advise. Jeff --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org