繁体   English   中英

如何在不重启 Tomcat 的情况下持续部署 JSF 项目中的更改?

[英]How to continuously deploy changes in JSF project without restarting Tomcat?

我在 Eclipse 中有一个 JSF 项目。 现在每次更改.xhtml文件时,我都必须停止 Tomcat 服务器,然后再次启动 Tomcat 服务器。 有没有其他方法可以连续构建和测试我的应用程序,而无需每次进行更改时都重新启动服务器?

当您需要开发 JSF 项目时,至少需要进行两项更改:

  1. 通过如下更改 Tomcat 设置来告诉 Eclipse 自动发布更改(双击服务器视图中的 Tomcat 服务器条目以获取此屏幕):

    在此处输入图片说明

    它即默认为“从不自动发布”。


  2. 通过将以下内容添加到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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM