如果共享应用程序类由Tomcat6中的公共类加载器加载,为什么不好?

时间:2011-09-15 17:30:57

标签: tomcat shared-libraries tomcat6 classloader

Tomcat docs说“通常情况下,不应将应用程序类放在此处:$CATALINA_BASE/lib”。我认为应该放置在webapps之间共享的应用JAR,而不是shared.loader=中定义为catalina.properties的其他地方。

有人可以了解这两个地方(共同和共享)之间的区别吗?公共加载器不是从两个地方加载类吗?

如果不设置共享位置但是我将共享应用程序JAR放入$CATALINA_BASE/lib会出现什么问题呢?

由于

1 个答案:

答案 0 :(得分:2)

如果可能的话,我根本不会将JAR放在共享位置。如果你这样做,

  • 您无法通过常规部署机制部署新版本的库
  • 如果不预先安装库,则无法将应用程序部署到新服务器
  • 所有应用程序必须就所有库的通用版本达成一致,因为您只能随时部署单个版本

你几乎没有节省足够的内存或磁盘空间来弥补这些缺点。