我通过 Apache 在 Jetty 6 上运行多个 Web 应用程序。它们被设置为使用 contexts/目录中的 .xml 文件进行热部署。这些 .xml 文件只是定义 WebAppContext 实例并告诉它们在哪里查找 WAR 文件。 “touch”它们的 context/.xml 文件会获取对相关 WAR 文件中定义的 JSP 的更改,这非常棒。
问题是对 WAR 文件的 WEB-INF/lib 文件夹中包含的 JAR 的更改不会被采纳。我认为这是因为这些 JAR 缓存在某处。该假设基于以下事实:重新启动 Jetty 即可获取更改。
所以,问题是:是否可以关闭此缓存行为或以其他方式让 WebAppContext 实例获取库更改?如果是这样,怎么办?
最佳答案
JBoss 热部署扫描不检查 lib 文件夹:
http://community.jboss.org/wiki/HotDeployLibDirectory
不确定 Jetty 是否有相同的行为,但是,您可以尝试将其中一个 jar 移动到与您的 jsps 之一相同的文件夹中,看看是否是这种情况。
如果这不是一个选项,那么这可能会有所帮助:
关于java - Jetty 可以在热部署时获取对 WEB-INF/lib 的更改吗?如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1704932/