Jetty 可以在热部署时获取对 WEB-INF/lib 的更改吗?如何?
我通过 Apache 在 Jetty 6 上运行多个 Web 应用程序。它们被设置为使用 contexts/ 目录中的 .xml 文件进行热部署。这些 .xml 文件只是定义 WebAppContext 实例并告诉它们在哪里查找 WAR 文件。 “touch”它们的 context/.xml 文件会获取对相关 WAR 文件中定义的 JSP 的更改,这很棒。
问题是对 WAR 文件的 WEB-INF/lib 文件夹中包含的 JAR 的更改不会被采纳。我认为这是因为这些 JAR 缓存在某处。该假设基于以下事实:重新启动 Jetty 即可获取更改。
因此,问题是:是否可以关闭此缓存行为或以其他方式让 WebAppContext 实例获取库更改?如果是这样,怎么办?
I am running several webapps on Jetty 6 through Apache. They are set to hot deploy using .xml files in the contexts/ directory. Those .xml files simply define WebAppContext instances and tell them where to look for a WAR file. `touch'-ing their contexts/.xml files picks up changes to JSPs defined in the relavnt WAR file, which is great.
The problem is that changes to the JARs contained in the WAR file's WEB-INF/lib folder are not picked up. I assume that this is because these JARs are cached somewhere. That assumption is based on the fact that restarting Jetty picks up the changes.
So, the question is: Is it possible to turn off this caching behavior or in some other way get WebAppContext instances to pick up library changes? If so, how?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
JBoss 热部署扫描不检查 lib 文件夹:
http://community.jboss.org/wiki/ HotDeployLibDirectory
不确定 Jetty 是否有相同的行为,但是,您可以尝试将您的 jar 之一移动到与您的 jsps 之一相同的文件夹中,看看是否是这种情况。
如果这不是一个选项,那么这可能会有所帮助:
http://www.jroller.com/larrywilliams/条目/jetty_hot_deploy
JBoss hot deploy scanning doesn't check the lib folder:
http://community.jboss.org/wiki/HotDeployLibDirectory
Not sure if Jetty has the same behaviour, but, you could try moving one of your jars into the same folder as one of your jsps to see if this is the case.
If that's not an option then this might help:
http://www.jroller.com/larrywilliams/entry/jetty_hot_deploy
您需要将
scanInterval
属性设置为大于零的数字。在此处查看更多内容
You need to set the
scanInterval
property to a number larger than zero.See more here