由于服务器端数据更改,我们不需要停止运行项目

Posted

技术标签:

【中文标题】由于服务器端数据更改,我们不需要停止运行项目【英文标题】:We don't need to stop running project due to server side datas changes 【发布时间】:2013-06-05 03:45:08 【问题描述】:

如何在 GWT 项目中通过浏览器的刷新来影响或更新服务器端数据更改?浏览器可以下载客户端的js文件,但不能下载服务器端的js文件。当一个项目越来越大时,可能会消耗我们很多倍的精力。我们还等待 js 文件下载时间。一两次都没有问题。但是如果我们改动了一些小东西,想紧急看看效果,我们会再次停止服务器,重新运行项目,等待js文件下载时间,重新登录等等。所以,我真的很想知道该怎么做。任何建议,将不胜感激。感谢您耐心阅读我的问题...

【问题讨论】:

服务器端和客户端代码是在单个项目还是不同项目中 可能不同或相同。如果也相同,更新后服务器端数据仍然不受影响。 我们必须在应用程序运行之前编译我们的服务器端代码。 【参考方案1】:

在 DevMode 窗口中有一个“重新启动服务器”按钮(在 Google Plugin for Eclipse 中,它是一对或旋转的黄色箭头)。

它将重新启动 web 应用程序,重新加载来自 WEB-INF/classes 的编译类和来自 WEB-INF/lib 的 JAR。 如果您使用的是 Eclipse,它应该已经配置为将类编译到该 WEB-INF/classes 文件夹中,因此它应该是 Just Work™。

【讨论】:

哇!这真的很有效......真棒!多谢兄弟。我想知道它是重新编译还是重新验证 xml 、属性文件? 请大哥详细描述一下! 它只是取消部署并重新部署 webapp,就像您重新启动了 DevMode 一样。但它不会重新编译,只会重新加载(通常,你的 IDE 已经在运行中编译过)。【参考方案2】:

我的问题可以用JRebel 解决,但我想知道是另一种方式,因为它不是免费工具:)。

这是一个很棒的工具。您可以将其添加为您的 eclipse 作为插件并添加它的性质。如果你用它的控制台运行你的项目,你可以通过保存你的类或 xml 或任何其他文件(我的意思是我知道)来获取客户端和服务器端数据的更新数据。如果你想用它进行测试,指南在这里.. JRebel for Eclipse 这可能对你有帮助...

【讨论】:

【参考方案3】:

要查看即时更改,您可以复制您的 js 文件并将其粘贴到入口点项目的目标文件夹中。浏览器刷新就足够了。有时还需要清除浏览器缓存。

这可能不是一个经典的解决方案,但它会反映更改,并且在您不想一次又一次地重新启动服务器以检查它是否工作的情况下。

【讨论】:

感谢您的回答,但我的意思是服务器端代码,而不是客户端数据。客户端数据将随着浏览器刷新而更新。我也想做服务器端数据。 JS 文件可能代表客户端数据。

以上是关于由于服务器端数据更改,我们不需要停止运行项目的主要内容,如果未能解决你的问题,请参考以下文章

react + redux + saga +服务器端渲染+如何停止服务器端渲染页面的额外ajax调用?

服务端测试环境hosts配置检查脚本

端口冲突问题

一步完成在Mac机器上部署运行和停止ZooKeeper

一步完成在Mac机器上部署运行和停止ZooKeeper

一步完成在Mac机器上部署运行和停止ZooKeeper