【问题标题】:Avoid RePublishing the web application after Eclipse Shutdown避免在 Eclipse 关闭后重新发布 Web 应用程序
【发布时间】:2010-09-12 16:02:09
【问题描述】:

我将我的 Web 应用程序部署在 Tomcat5.5 上,并将它与 eclipse 3.2 集成使用。每次关闭 eclipse 并重新启动它时,即使它没有被修改,我也需要重新发布该应用程序。

有没有办法避免这个或我遗漏的任何步骤?

【问题讨论】:

    标签: java eclipse web-applications eclipse-3.2


    【解决方案1】:

    转到首选项->服务器->启动。删除选项“启动服务器时自动发布”

    【讨论】:

    • 它确实会阻止在启动时发布,但它不会反映我在 JSP 中所做的更改。为此,我需要重新启动 tomcat 并猜测是什么 .. 它再次进入相同的发布循环。 :( 所以帮助不大!!
    【解决方案2】:

    我认为 adij.wordpress.com 正确地确定了这一点。如果您发现在开发应用程序时花费大量时间等待 Tomcat 重新启动,请考虑改用 Jetty。它将在 Tomcat 的一小部分时间内重新启动,并提供了一个功能齐全的替代方案,非常适合敏捷开发。

    我们使用带有多个 EAR 文件的 Glassfish(基于 Tomcat),它的开发速度很慢,因此每个 EAR 项目都包含一个 Jetty 启动器,该启动器只需为开发人员当时正在处理的单个 WAR 启动。如果您使用 IntelliJ,这可以自动进行,以便在单击浏览器并刷新页面所需的时间内,应用程序任何层的更改都可以立即反映到当前运行的应用程序中。

    【讨论】:

      【解决方案3】:

      eclipse 3.3 或 3.4 或更高版本的 WTP 对您而言是否具有相同的行为方式?

      【讨论】:

        【解决方案4】:

        由于这是一个相当古老的问题,并且仍然没有答案,我想用这个答案来扩大范围:

        我认为您有一个理由希望停止重新发布您不知道的应用程序(除了厌恶正在做的不必要的工作)

        我唯一能猜到的是它需要大量的时间。对我来说,发布时间从来都不是问题,但如果它们适合你,你可能会考虑

        • 增加内存(如果交换虚拟内存会减慢重新发布的速度) - 例如购买新内存
        • 优化项目中的依赖关系,例如如果有大量依赖项目,则预先打包依赖项目;如果只有一个大型项目,则创建子项目并依赖它们。 (假设这些因素中的任何一个都会减慢重新发布的速度。我没有衡量它)
        • 使用 Tomcat6 或 glassfish 有帮助吗?

        可能不是发布是您的问题,而是启动时间。通过非常严格地控制它,您可能会获得很多,例如在 Web 应用程序启动后按需启动服务。我知道有几个应用程序在启动期间会做一些繁重的工作(在它们接受第一个连接之前,并且在它们将控制权传递给下一个可能做同样事情的应用程序启动之前)。我恨他们。通常这样的服务会得到很多脏话,最后是他们自己的网络/应用程序服务器。必须重新启动其中一个应用程序至少不会让所有其他应用程序(及其用户)受到影响,这些应用程序在编写时考虑到了良好的启动时间。

        如果您的问题仍然存在并且您仍在寻找解决方案,请发表评论。您的重新发布时间是什么时候?

        【讨论】:

        • 问题当然是在 Eclipse 重新启动时发布和同步应用程序所花费的时间。它更令人担忧,因为即使没有代码更改它也会执行此操作。我们有大约 200Mb 的 webapp,在 2gb ram 机器上发布需要 20 分钟。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-29
        • 2015-05-10
        • 2018-01-28
        • 1970-01-01
        相关资源
        最近更新 更多