【发布时间】:2018-02-12 07:45:49
【问题描述】:
我想在 tomcat 7.0.59 上扩展可重新加载的目录集。
当Context 中的reloadable 属性设置为true 时,tomcat 会监视/WEB-INF/classes/ 和/WEB-INF/lib 中的类。
如果您希望 Catalina 监控类,请设置为 true /WEB-INF/classes/ 和 /WEB-INF/lib 用于更改,并自动 如果检测到更改,则重新加载 Web 应用程序。这个功能是 在应用程序开发过程中非常有用,但它需要 显着的运行时开销,不推荐用于 部署的生产应用程序。这就是为什么默认设置为 此属性为假。您可以使用 Manager Web 应用程序, 但是,触发按需重新加载已部署的应用程序。
整个系统分为模块,每个模块可以有自己的网络上下文(/WEB-INF/classes/)和/或扩展全局上下文(/classes/)。假设我想让/classes/ 目录可重新加载。我怎样才能做到这一点?
我尝试使用WatchedResource标签,没有效果:
<Context reloadable="true" path="/test" docBase="/MY_MODULE/web/webroot">
<Manager pathname="" />
<WatchedResource>/MY_MODULE/classes</WatchedResource>
</Context>
【问题讨论】:
-
为什么你有一个不是
/WEB-INF/classes/的/classes/目录? -
这是一个非常大的项目的特定“功能”。
-
您是否尝试在文件系统中添加软链接?
-
说它是“功能”并不构成对问题的回答。 “功能”的原因是什么? 考虑到 Tomcat 不支持它,它根本不是一个“功能”,它是一个 错误。如果这些类在
WEB-INF/classes中,你就不会'没有问题或要回答的问题。 -
@luke 支持“全局上下文”的类应放入 Tomcat 的
lib目录中的 JAR 文件中。你不能只是发明一个特性,然后期望 Tomcat 支持它。
标签: java tomcat tomcat7 catalina