Hi all,

I've used the following workaround to address this problem.

I've created an executable jar for my UI class, and have added the bootstrap.jar file 
to the Class-Path manifest attribute. This works.

--- begin manifest fiel contents ---
Manifest-Version: 1.0
Main-Class: test.TCStart
Created-By: OESI
Class-Path: bin/bootstrap.jar bin/tools.jar
--- end manifest file contents ---

This lets me run the text.TCStart class, and load tomcat 4.0.1 and load tools.jar too.

What I'm planning to tackle next is asking the SystemClassLoader to load additional 
jars, the URLs/path of which I shall read form a properties file.

Regards,

Sriram



------- Start of forwarded message -------
From: Sriram Narayanan <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Reply-To: "Tomcat Developers List" <[EMAIL PROTECTED]>
Subject: ClassNotFound Exception when loading Tomcat 4.0.1 via URLClassLoader
Date: 30/11/2001 9:24:34 AM

Hello all,

I'm trying to write a Swing based UI that'll help manage Tomcat.
Towards that end, I'm first trying to load Tomcat via a URLCLassLoader. This is so 
that one can load and test different Tomcat releases, and builds, and jar combinations.

My idea is to load Tomcat  via a URLCLassloader.
This thing works for Tomcat 3.3, but I'm facing the following problem with Tomcat 4.0.1

Any ideas ?

Thanks,

Sriram

------- Start of forwarded message -------
From: Sriram N <[EMAIL PROTECTED]>
To: Tomcat Developers List <[EMAIL PROTECTED]>
Reply-To: "Tomcat Developers List" <[EMAIL PROTECTED]>
Subject: ClassNotFound Exception when loading Tomcat 4.0.1 via URLClassLoader
Date: 29/11/2001 6:43:02 PM

Hi all,

I'm trying to write a java class that will load Tomcat 4.0.1 for me.
My goal is:
        -> Do not use the classpath. The CLASSPATH env variable's contents are clear
be me first.
        -> Use the URLClassLoader to get started.

This technique works with Tomcat 3.3

With Tomcat 4.0.1 however, I get a ClassNotFoundException for
org.apache.catalina.loader.Reloader which is in the same bootstrap.jar that is
used to load 
org.apache.catalina.startup.Bootstrap

However, when I stick to the batch file which adds bootstrap.jar to the system
CLASSPATH, tomcat runs OK, as usual.

Could some one point me to what I'm missing or doing wrong ? Thanks.

Here's the code that I use to load Tomcat 4.0.1

------ begin code --------
public class TCStart{
        public static void main(String args[]){
                try{
                        System.setProperty("catalina.home","f:/tc4.0.1/");
                        System.setProperty("catalina.base","f:/tc4.0.1/");
                        System.setProperty("java.class.path","");

                        java.io.File file = new 
java.io.File("f:/tc4.0.1/bin/bootstrap.jar");
                        java.net.URL[] urls = new java.net.URL[]{file.toURL()};
                        java.net.URLClassLoader loader = new 
java.net.URLClassLoader(urls);
                        Class aClass = 
loader.loadClass("org.apache.catalina.startup.Bootstrap");
                        String classLoaderName = 
aClass.getClassLoader().getClass().getName();
                        String className = aClass.getName();
                        System.out.println("ClassName " + className);
                        System.out.println("ClassLoader " + classLoaderName);
                        //Class aClass = 
Class.forName("org.apache.catalina.startup.Bootstrap");
                        java.lang.reflect.Method method = null;
                        Class[] argsClass = new Class[] { String[].class };
                        // get the main method for the org.apache.tomcat.shell.Startup 
class
                        method = aClass.getMethod("main", argsClass);
                        Object object = null;
                        String filePath= "-f conf/server.xml";
                        Object[] arguments = new Object[] { new String[] {"start"}};
                        // now invoke the main method for the 
org.apache.tomcat.shell.Startup class
                        method.invoke(object, arguments);
                }catch(Exception ex){
                        System.err.println("Ugh ! is all that I can say");
                        ex.printStackTrace(System.err);
                }
        }
}


------ end code -----------

And here's the stack Trace that I get.

---- begin stack trace dump ---
ClassName org.apache.catalina.startup.Bootstrap
ClassLoader java.net.URLClassLoader
Starting service Tomcat-Standalone
Apache Tomcat/4.0.1
Exception during startup processing
java.lang.reflect.InvocationTargetException: java.lang.NoClassDefFoundError:
org
/apache/catalina/loader/Reloader
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at
org.apache.catalina.loader.StandardClassLoader.findClass(StandardClas
sLoader.java:671)
        at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClas
sLoader.java:1090)
        at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClas
sLoader.java:989)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3
313)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)

        at org.apache.catalina.core.StandardHost.start(StandardHost.java:612)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)

        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:307
)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:3
88)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:505
)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:776)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
        at java.lang.reflect.Method.invoke(Native Method)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
        at java.lang.reflect.Method.invoke(Native Method)
        at TCStart.main(TCStart.java:25)

---- end stack trace dump --------



__________________________________________________
Do You Yahoo!?
Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month.
http://geocities.yahoo.com/ps/info1

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

-------- End of forwarded message --------




_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

-------- End of forwarded message --------




_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to