1

我正在使用 IBM RAD 8.0 版并将 EAR 应用程序部署到 IBM WebSphere 7.0。每次更改 JSF 文件时,都需要重新发布应用程序,否则更改将不可见。

发布需要一些时间,所以通常至少需要一分钟我才能看到即使是最微小的变化的影响。在“正常”应用程序开发中,大约需要几秒钟,这对于不是 JSF coryphee 并且仍在学习并需要进行实验的人来说至关重要......

在使用 IBM RAD 和 WebSphere 时,是否可以使用 JSF 功能重新加载 JSF 页面定义而无需重新启动应用程序?或者我将被迫使用 Eclipse 和 Tomcat 创建第二个环境,仅用于 JSF 实验?

4

2 回答 2

4

这通常在服务器配置中进行配置。在 Eclipse 的Servers视图中双击所需的服务器并前往Publishing部分。

在此处输入图像描述


请注意,您还应该考虑 Facelet 缓存,尤其是在使用相对积极缓存的 MyFaces 时。如果您确保将javax.faces.PROJECT_STAGEcontext 参数设置为Development,那么 MyFaces 和 Mojarra 都会放宽 Facelet 缓存策略,导致它几乎立即重新编译 Facelet 文件,而不是在相当长的时间内使用缓存版本。

Publishing设置的替代方法是使用JRebel。它还能够发布托管 bean 和 EJB 等 Java 类中的更改,从而节省大量热部署时间。它也有一个Eclipse 插件

于 2013-01-11T15:13:29.430 回答
2

这个线程很旧,但我仍然有同样的问题,使用 eclipse 和 WebSphere。

一个检查的地方是这个。如果您使用以 .xhtml 结尾的 JSF 文件,则必须确保这些文件中的更改不会触发自动重新发布。

  1. 在“服务器”选项卡中,双击您的服务器。
  2. 打开“WebSphere Application Server 的发布设置”
  3. 单击“设置高级发布设置...”。
  4. 在“不触发服务器发布的文件扩展名列表...”中插入或附加“,*.xhtml”。
  5. 关闭这些设置并重新启动服务器。

在 web.xml 中,我还添加了一个名为 javax.faces.PROJECT_STAGE 和值 Development 的参数,这可能会对违规行为产生影响。

于 2014-07-11T14:13:35.117 回答