如何在Linux环境下使用tomcat 6.0版中的共享库?

时间:2013-05-25 14:02:15

标签: java tomcat

我有两个应用程序webapp1和webapp2。两个应用程序都使用相同的库zx.jar。 现在我将jar放在两个位置/webapp1/ROOT/WEB-INF/lib/webapp2/ROOT/WEB-INF/lib

但我不想加载jar两次。我想使用jar /tomcat/lib

如何在Linux环境中实现此功能?

3 个答案:

答案 0 :(得分:2)

将您的图书馆放在下面的位置

•Tomcat 6 $CATALINA_HOME/lib   
•Tomcat 5 $CATALINA_HOME/common/lib

更多信息Apache ClassLoader Howto

答案 1 :(得分:1)

只需将jar放入tomcat lib文件夹($CATALINA_HOME/lib)即可。

如果您使用maven作为构建工具,只需将<scope>provided</scope>放在相应jar的依赖项中即可!

如果您使用Ant进行构建,请确保在构建和部署应用程序时不要将jar复制到已部署应用程序的lib文件夹。

答案 2 :(得分:0)

对于Tomcat 6,要在多个servlet之间共享的“常见”JAR应放在$CATALINA_BASE/lib$CATALINA_HOME/lib中。它记录在Apache 6 - Classloader HOW TO文档中。

但是,这样做时需要小心,因为:

  • “常见”JARS和lib目录中的其他文件/目录优先于每个webapp中的内容,
  • “common”类中的任何静态变量实际上对所有Web应用程序都可见,
  • 类型从一个webapp泄漏到另一个webapp会导致奇怪的问题;例如类型演员意外失败。