On 20.07.2012 00:10, James Lampert wrote:
Theoretically, I've ironed out the bugs concerning which JVMs Tomcat
will run under, but it still isn't coming up.

The STDOUT from attempting to start Tomcat is as follows:

/wintouch/tomcat/bin/catalina.sh: 001-0019 Error found searching for
command tty. No such path or directory.
Using CATALINA_BASE:   /wintouch/tomcat Using CATALINA_HOME:
/wintouch/tomcat Using CATALINA_TMPDIR: /wintouch/tomcat/temp Using
JRE_HOME:        /QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit Using
CLASSPATH:
/wintouch/tomcat/bin/bootstrap.jar:/wintouch/tomcat/bin/tomcat-juli.jar


Which is to say, /QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit/jre is a JVM
that, so far as I'm aware, doesn't have any problems with Tomcat.
Everything above is exactly the same as in a successful launch on our
V6R1 box.

And Catalina.out is mercifully short this time:

java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina
at java.net.URLClassLoader.findClass(URLClassLoader.java:432) at
java.lang.ClassLoader.loadClass(ClassLoader.java:642) at
java.lang.ClassLoader.loadClass(ClassLoader.java:608) at
org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:236) at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)


It's obviously trying to tell me SOMETHING, but I can't determine WHAT
it's trying to tell me.

Any ideas? I don't see the class it's complaining about in either of the
two JARs listed on the classpath dumped to STDOUT, but if that were the
problem, it wouldn't work here, either.

The Catalina class is loaded in Bootstrap using the server classloader:

        Class<?> startupClass =
            catalinaLoader.loadClass
            ("org.apache.catalina.startup.Catalina");

This Tomcat class loaders use a configuration file, which by default is (using your path) /wintouch/tomcat/conf/catalina.properties.

By Default the search oath for the server loader is empty (entry server.loader in the file). But the server loader delegates to the so-called common loader. That one looks for the entry common.loader in catalina.properties which by default is

${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar

Here catalina.base and catalina.out are set by the startup script as system properties on the commandloine and in your case should both point to /wintouch/tomcat/. The common loader will then find the class Catalina in /wintouch/tomcat/lib/catalina.jar.

All this works by default in an untampered Tomcat installation. It can break:

- if catalina.jar is not in /wintouch/tomcat/lib or it is not readable

- if catalina.properties is not in /wintouch/tomcat/conf, or it is not readable, or the entries for the server.loader or common.loader are broken

- the start scripts do not set -Dcatalina.base=/wintouch/tomcat/ and -Dcatalina.home=/wintouch/tomcat/ when starting the JVM

- you are changing the place of the used properties file by giving a non-default value in the system property -Dcatalina.config during startup.

Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to