【问题标题】:How do I update my .jsp files without restarting the whole JBoss server?如何在不重新启动整个 JBoss 服务器的情况下更新我的 .jsp 文件?
【发布时间】:2012-07-03 19:04:02
【问题描述】:

如何在不重新启动整个 JBoss 服务器的情况下更新我刚刚在 .jsp 文件中所做的微小更改?这只是我(相当慢的)PC 上的私人服务器。到现在为止,我已经可以点击这个小图标,上面写着“重启模块”。现在,这个图标变灰了。

【问题讨论】:

  • 您一定要重新启动 JBoss 才能使更改生效吗?我不熟悉 JBoss,但如果它与 Tomcat 类似,你不熟悉 - 它会检测到 jsp 页面何时从文件的时间戳发生更改并即时重新编译
  • 我不认为这是一个要求,但现在我周围没有人能想出解决办法。 JBoss 也不是我的第一选择。
  • 那么,如果您只是更改 jsp 文件,然后转到使用它的 URL(无需重新启动 JBoss),您会看到更改吗?
  • 不,我绝对不。我当然尝试过保存、调试、刷新我的客户端页面(我知道我的 PHP),但是通过 JBoss 没有运气。
  • 您是直接在服务器上的 jsp 文件中进行更改,还是将它们复制到其中?如果是后者,请检查服务器时钟是否早于文件上的时间戳 - 如果是,那么 JBoss 会认为它不需要重新编译它们

标签: java eclipse jsp jboss


【解决方案1】:

只需替换您的 .jsp 或 .war 文件即可。 JBoss 在检测更新文件方面做得很好,并且会重新部署和重新编译你的 jsps。

请记住,您的浏览器可能已设置为缓存您的文件。在这种情况下,请确保点击刷新按钮或打开浏览器或标签的新实例。

【讨论】:

  • 无论出于何种原因,JBoss 最终启动了它并开始正确地重新部署模块。令我懊恼的是,我意识到我必须单击编辑器视图才能单击“重新部署包”图标,而自动构建设置对事情的发展有很大帮助。
【解决方案2】:

我发现它也有助于配置 JSP Servlet 以在任何更改时重新编译。这不是您在生产中想要的东西,但它确实加快了开发速度:

<servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    <init-param>
        <param-name>checkInterval</param-name>
        <param-value>1</param-value>
    </init-param>
    <init-param>
        <param-name>modificationTestInterval</param-name>
        <param-value>1</param-value>
    </init-param>
</servlet>

如图in answer to 'JSP deployment without war file'

【讨论】:

    【解决方案3】:

    大多数 Web 服务器都支持Hot deployment and dynamic reloading。它将提取服务器工作目录中的 WAR 文件。你可以replace your Modified JSP there to get picket at runtime

    可能重复。 Look here

    【讨论】:

      猜你喜欢
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多