发布
社区首页 >问答首页 >加速Eclipse Web浏览器中的代码更改?

加速Eclipse Web浏览器中的代码更改?
EN

Stack Overflow用户
提问于 2011-06-29 21:01:33
回答 2查看 443关注 0票数 0

我正在使用Eclipse中的Vaadin框架开发一个应用程序。我使用TomcatV6.0 servlet并在Eclipse Web浏览器中运行应用程序。不过,我遇到的一个问题是,当我测试应用程序时,浏览器中会显示最近的更改。

无论我重新启动Tomcat多少次,清除所有已发布的资源并重新启动Eclipse Web浏览器,更改仍然不会生效。在时间是最大因素的情况下,这些变化似乎是随机生效的,这在开发时非常令人沮丧……

所以我的问题是,其他人是否注意到了这个问题,并知道如何解决它,是否有我可以执行的配置,或者我是否在重启过程中遗漏了阻止更改生效的步骤。

任何帮助都将不胜感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-30 15:41:39

在Vaadin中,大多数代码在服务器上运行,并包含在普通的Java文件中。有三个级别的资源/类更改:

  1. 运行时“热代码替换”。如果在调试模式下运行Tomcat,则可以在不重新部署web应用程序的情况下发布某些Java类更改。然而,如果Tomcat被配置为“自动发布”(在Eclipse中检查您的服务器设置),那么只要类发生变化,重新部署就会自动完成,这会导致完全的上下文重新加载和会话序列化(参见#2)。热代码替换可以使用诸如JRebel。
  2. Web应用程序部署之类的工具来增强。这实际上是将一个新的war文件部署到服务器。导致取消部署以前的版本,并部署所有类和资源的新版本。有时服务器工作目录中有一些剩余的资源,或者类没有重新加载,在这种情况下,需要重新启动服务器(#3)。
  3. 服务器重新启动。这会使整个JVM重新加载,所有的类和web应用程序也会重新加载。仍然需要单独清理工作目录,以确保所有内容都重新加载。

除此之外,还有Vaadin的客户端部分(本质上是用GWT编译的JavaScript ),Tomcat将其视为静态资源。如果修改客户端Java代码,GWT将用于重新编译JavaScript。部署应该是简单的文件复制。浏览器缓存生成的HTML/JS文件,但GWT提供了避免这种情况的机制。

您应该首先尝试更改自动发布的服务器设置,看看这是否有帮助。此外,我还注意到不同的Tomcat版本表现不同。这很不幸,但您唯一能做的就是尝试找到适合您的版本/设置。

票数 1
EN

Stack Overflow用户

发布于 2011-07-03 16:29:33

为了确保:您已经在URL中添加了?restartApplication来强制应用程序在页面重新加载时重新启动,不是吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6521042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档