Tomcat 4.0.6, JDK 1.4.1 and WebServices

I have spent a considerable amount of time "beating my head against the monitor" trying to get my app to run in Tomcat 4.0.6. It appears that there is some major classloading issue when it comes to loading classes that a) depend on native libraries (e.g. JDBC Type 2 drivers) and b) WebService packages like Apache Axis.

I have tried all sorts of variations of where to deploy the jar files (WEB-INF/lib vs. $CATALINA_HOME/lib, etc.) and nothing works. It is one Exception related to Inialization, ClassNotFound, or UnsatisfiedLinkError (what a mess). I am so frustrated right now that I didn't just use Tomcat 4.1 to begin with that I could faint.

IDEA has to get off 4.0.x because it is not a) not supported and b) I now believe a piece of crap (probably why jakarta discontinued it).

I am curious to hear back from other developers who are using Axis as a client from a Webapp and those that are using Type 2 JDBC drivers from a Webapp and hear your experiences.




I put my frustration toward productive use.

I modified the Tomcat integration so that it does two things.

1) a new configuration field for additional classes to the classpath. This addresses the issue where jars like Type 2 drivers are more stable and reliable when specified in the classpath (as opposed to dynamically loaded by Tomcat)

2) removes the common/lib jars from the classpath. This happened to caused some conflicts that prevented axis and related jars from finding eachother and loading correctly.

Now, where do I check this stuff in?



what for do you need 2) ?
Why don't you specify -cp .... in VM parameters?



I would just say that this is not intuitive. That is I would assume that setting the -cp would override the plugins value not add to it. I also thought it would be worthwhile to take advantage of such things as Global Libraries, Project Libraries and Path macros.

See my reply in the Tracker issue


Please sign in to leave a comment.