[英]How to continuously deploy changes in JSF project without restarting Tomcat?
我在 Eclipse 中有一个 JSF 项目。 现在每次更改.xhtml
文件时,我都必须停止 Tomcat 服务器,然后再次启动 Tomcat 服务器。 有没有其他方法可以连续构建和测试我的应用程序,而无需每次进行更改时都重新启动服务器?
当您需要开发 JSF 项目时,至少需要进行两项更改:
通过如下更改 Tomcat 设置来告诉 Eclipse 自动发布更改(双击服务器视图中的 Tomcat 服务器条目以获取此屏幕):
它即默认为“从不自动发布”。
通过将以下内容添加到web.xml
来告诉 JSF webapp 当前处于开发模式:
<context-param> <param-name>javax.faces.PROJECT_STAGE</param-name> <param-value>Development</param-value> </context-param>
这将改变一些内部工作,使开发人员更容易,例如禁用 Facelet 缓存和重新加载资源。 在构建生产版本时不要忘记删除它,因为这会影响性能。 该设置也可以由 JNDI 设置。
另一种方法是从准系统 Tomcat 服务器迁移到普通的 JEE 服务器,例如 WildFly、Payara、Liberty 等。 对于它们,不再需要上述 Eclipse 设置,您甚至可以实时编辑 bean 方法(在 Tomcat 上,您'仍然需要为他们重新启动整个服务器)。
facelets.REFRESH_PERIOD: –
间隔编译器检查页面更改——在开发过程中使用较低的值
<context-param>
<param-name>facelets.REFRESH_PERIOD</param-name>
<param-value>2</param-value>
</context-param>
(or)
<context-param>
<param-name>facelets.REFRESH_PERIOD</param-name>
<param-value>1</param-value>
</context-param>
web.xml
更改-1
。(默认值) 编辑:正如@BalusC所说,上面将适用于jsf 1.x
,对于jsf 2.X
更改发布设置和web.xml
javax.faces.PROJECT_STAGE
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.