1

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

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

4

4 回答 4

1

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

于 2008-11-04T06:10:40.257 回答
1

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

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

于 2008-11-04T19:20:46.527 回答
0

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

我认为您有理由想要取消我不知道的应用程序的重新发布(除了对正在完成的不必要工作的厌恶)

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

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

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

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

于 2008-11-02T15:36:00.663 回答
0

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

于 2008-09-24T11:03:12.893 回答