接缝上的热部署失败

时间:2013-09-05 18:17:44

标签: java eclipse jboss seam

阅读http://docs.jboss.org/seam/snapshot/en-US/html/gettingstarted.html我知道有一种叫做热部署的东西,这意味着如果你在视图(xhtml)中更改代码,服务器将不会重启。然而,每次我在视图或java类中更改某些代码时,服务器都会重建/重新部署。

Eclipse中有两种类型的服务器连接器:JBoss AS和JBoss社区。每次测试都没有区别。

我使用JBoss 4.2.3,Seam 2.0和Eclipse作为我的IDE。我的操作系统是Mac OS X 10.7.5

任何帮助都会很棒。我应该配置其他东西吗?

2 个答案:

答案 0 :(得分:1)

打开服务器选项卡并删除自动部署。 如果你想要好的热交换,请使用jRebel。

http://zeroturnaround.com/software/jrebel/

答案 1 :(得分:0)

我经常使用接缝热部署而且效果很好。请首先在您的环境中检查这些(此核对表适用于Web项目而不是耳朵项目):

  1. 服务器设置中的发布模式为“资源更改时自动发布”。
  2. 您的存档未部署为压缩存档,即.war文件。 (检查您的部署文件夹以确定它。)
  3. Seam热部署仅从此目录(您的归档路径)/ WEB-INF / dev加载更改的类。因此,检查您的类是否实际部署在该目录中,如果不是这样,请转到“项目属性/ Java构建路径/源”并将输出文件夹更改为正确的位置。
  4. 要重新加载xhtml文件,请确保您在web.xml文件中没有这些设置(因为它们的默认值允许重新加载)或将它们的值设置为与这些不同的值。由于您使用的是seam 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>
    

    此外,您应该将seam过滤器添加到web.xml文件中。

  5. 将seam置于调试模式,可以在components.xml文件中设置。你也应该在类路径中有seam-debug.jar文件。