6
votes

When upgrading from Tomcat 6 to Tomcat 7 - we kept a number of files we wanted on the classpath in the $CATALINA_HOME/lib directory on 6 - and it made sense to move these two $CATALINA_HOME/shared/lib on Tomcat 7.

What we've found is that the jar files went across ok - but anything that wasn't a jar file - eg an xml file etc was not picked up by the class loaded in the shared/lib directory. When we moved the non-jar files back to the $CATALINA_HOME/lib directory - they loaded into the classpath without an issue.

My question is - is this a bug in the classloader in Tomcat 7? Or is this intended behaviour? (Failing to load non-jar files onto the classpath from the $CATALINA_HOME/shared/lib in a manner inconsistent to that which loads files from $CATALINA_HOME/lib)

OS: Windows7

Tomcat version: 7.0.30

Java version: 1.7.0_11

1

1 Answers

5
votes

I don't use shared lib, but according to this doc: http://wiki.apache.org/tomcat/HowTo

Note that Tomcat 6.0.14 the $CATALINA_HOME/shared/lib directory does not exist.

You will need to add this and you will need to edit $CATALINA_HOME/conf/catalina.properties so that the shared.loader line looks like this shared.loader=$CATALINA_HOME/shared/lib