我已经使用了很多接缝热部署,并且效果很好。请首先在您的环境中检查这些(此清单适用于 Web 项目而不是耳朵项目):
- 服务器设置中的发布模式是“资源更改时自动发布”。
- 您的存档未部署为压缩存档,即 .war 文件。(检查您的部署文件夹以确保它)。
- Seam 热部署仅从该目录(您的存档路径)/WEB-INF/dev 加载更改的类。因此,请检查您的类是否实际部署在该目录中,如果不是,请转到“项目属性/Java 构建路径/源”并将输出文件夹更改为正确的位置。
对于要重新加载的 xhtml 文件,请确保您的 web.xml 文件中没有这些设置(因为它们的默认值允许重新加载)或将它们的值设置为与这些不同的值。由于您使用的是接缝 2,我假设 JSF 1.2:
<context-param>
<param-name>facelets.REFRESH_PERIOD</param-name>
<param-value>-1</param-value>
</context-param>
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>false</param-value>
</context-param>
此外,您应该将接缝过滤器添加到您的 web.xml 文件中。
将 seam 置于可以在 components.xml 文件中设置的调试模式。此外,您的类路径中应该有 seam-debug.jar 文件。