我们已经安装了 Tomcat 6
[TOMCAT_HOME]/lib
- 这是标准的 tomcat 版本[TOMCAT_BASE]/lib
- 在这里我们想添加非标准的附加 jar 文件
但是不知为何我没能让[TOMCAT_BASE]/lib
Tomcat 拾取 jar 文件。看来我所有在 tomcat 之外的 jar 文件都被忽略了。
在启动 Tomcat 之前我设置CLASSPATH=[TOMCAT_BASE]\lib
- - - - 编辑
JAVA_ENDORSED_DIRS 可用于添加一个额外的文件夹,其中包含要由 Tomcat 加载的 jar 文件
答案1
根据文档在这里,设置 CLASSPATH 将被 tomcat init 脚本忽略。此外,实际上没有办法欺骗 Tomcat 到其他地方查找,除非您想将其添加到上述页面中提到的其他目录之一。
与 Java Web 应用程序一样,问题是:为什么?如果您使用的是第三方应用程序,并且想要覆盖 jar,那么,您不妨重建 ear。如果您使用的是自己的应用程序,那么重建应用程序(例如,如果您想要一个用于 dev 的库和另一个用于 prod 的库)是“Java 方式”。
答案2
- 将其添加到 $TOMCAT/lib
- 将其添加到 $TOMCAT/webapps/YOURAPP/WEB-INF/lib
- 编辑$TOMCAT/bin/catalina.sh(.bat)编写新路径
这就是您要如何实现它。在 #2 中,如果您正在构建自己的 warball 并且它是自动解包的,那么请将其添加到那里,而不是直接添加到文件系统中。