问题
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:
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
来源:https://stackoverflow.com/questions/17334122/tomcat-6-vs-7-lib-vs-shared-lib-jars-only