代码之家  ›  专栏  ›  技术社区  ›  Thorbjørn Ravn Andersen

使用Eclipse WTP的任何方法,并不意味着在更改JSP页面时重新部署整个应用程序。

  •  10
  • Thorbjørn Ravn Andersen  · 技术社区  · 15 年前

    我已经将一个web应用程序从my eclipse迁移到eclipse wtp,现在我正处于迁移后第一个主要的代码库和web页面升级的中间,坦率地说,保存一个jsp页面会导致整个应用程序的重新部署,因为这需要时间,而且我的后端连接在seria中无法生存。会话对象的反序列化(这是非常重要的,需要修复)。除此之外,JSP编辑器的速度非常慢,所以我经常需要暂停,让编辑器跟上,以确定我的编辑在使用JavaServer人脸的小JSP中的位置。禁用验证没有帮助。

    Eclipse动态Web项目依赖于几个库Eclipse项目,因此我不能只告诉jetty使用webroot文件夹,因为类路径中缺少几个依赖项。

    问题是:

    • 是否有一种工作方式——任何工作方式——与EclipseWTP系统一起工作,并不意味着每次保存任何文件时都要重新部署所有内容?

    我可以使用Tomcat5.5或Jetty6作为服务器。


    编辑:让JSP编辑器跟上进度也很好……


    编辑:有问题的JSP页面包含JSF标签(myfaces 1.1.4,tomahawk 1.1.9),是否会有影响?

    5 回复  |  直到 15 年前
        1
  •  3
  •   Bozho    15 年前

    我再提出一个建议,这更像是权宜之计。

    你可以使用 FileSync 用于同步您的 bin webroot 带有servlet容器的目录。您必须使用原始安装,而不是以这种方式使用工作区元数据。然后,在调试模式下启动服务器之后,一切都是热部署的。

    我已经成功地将此方法用于Glassfish 2。


    另一件事是检查服务器的配置选项 Servers 项目(应该有一个文件夹)。可能有些人 debug hot-deploy 选项已关闭。


    至于JSP编辑器的速度,禁用验证是第一件事,您已经做到了。老实说,我的JSP页面(包含JSF标记,实际上使用facelet)在速度方面没有任何主要问题。也许用一个新的装置?

        2
  •  6
  •   Stefan De Boey    15 年前

    在Eclipse中的Tomcat服务器设置中,应该启用选项' 服务模块而不发布 '(见下文如何操作)

    这是我使用的解决方案,它使我能够立即查看JSP中的更改而不重新发布或其他内容(Tomcat 5.5 +常规动态Web项目+JSP在WebCompess目录中),因此在开发Java应用程序时,我不会发疯。

    如何做到这一点:

    • 打开服务器视图
    • 双击服务器以打开服务器设置
    • 在“发布”部分(右上角),选择“从不自动发布”选项(如对问题的其他回答中所述),以避免在更改某个内容时执行发布操作。
    • 这是最重要的:在“服务器选项”部分(左下角)中,选择“服务模块而不发布”选项。现在,您的更改将在不重新部署的情况下获得

    更新:您还应确保在Eclipse中开发时,您所依赖的库(那些构建路径上的库)被复制到WebINF/LIB(通过在Web项目的首选项对话框中的JavaEE模块依赖项中选择适当的JARS/Project)来执行此操作。所有这些设置就绪后,Tomcat将从您的工作区项目运行Web应用程序,WebContent目录作为Web应用程序的根目录。

    享受

        3
  •  2
  •   BCunningham    15 年前

    如果需要,可以禁用Eclipse中的自动发布:

    1. 打开服务器视图。
    2. 双击服务器 查看。这将打开服务器 概述配置页。
    3. 在上查找“发布”部分 页面(右上角)。
    4. 选择“从不发布” 自动“选项。

    这将避免“每次保存后发布”问题。但是,如果关闭此选项,则在希望更改显示在服务器中的任何时候都必须手动部署。

        4
  •  1
  •   vkraemer    15 年前

    我的建议是:

    验证您使用的是Eclipse/WTP和Tomcat的最新发布版本。 您可能希望在单独的位置和工作区下载新的位。不要转到最新和最伟大的里程碑/发布候选…我说的是你能从中得到的东西 http://eclipse.org/downloads/

    看看您是否可以用一个最简单的动态Web项目来重现这个问题。如果可以,请使用eclipse.org提交一个bug。如果您不能用最简单的应用程序重现问题,请将您的应用程序加载到这个新的开发环境中,看看是否能解决问题。如果没有,那么问题可能与您的项目有关。

        5
  •  1
  •   Pascal Thivent    15 年前

    这很奇怪,这不是我所经历的。我用Eclipse IDE对JavaEE开发者(Buffid ID:090920-1017)和Tomcat 5.5.28(以及Tomcat 60.28)进行了复查,我无法重现这个问题:

    • 修改Java文件 重新加载上下文~但是~
    • 修改JSP可以 不是 重新加载上下文

    (这不需要修改我的Tomcat的任何特定设置 服务器 在伊柯丽斯之下)。

    这个问题看起来与你的项目或者你的机器有关。您机器上的任何项目都会发生这种情况吗?你能在另一台机器上复制它吗?