问题标签 [gwt-super-dev-mode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
260 浏览

java - Vaadin SuperDevMode 重新编译有时会失败,Widget 未按应有的方式呈现,并且 Widget 的 Java 代码不可用

我正在尝试在 Vaadin 项目上设置 SuperDevMode。

我基本上有3个与此功能相关的问题。

我有以下小部件(使用“新 Vaadin 小部件”向导创建,位于客户端小部件、连接器、状态和服务器端组件的代码下方):

此小部件呈现如下:

在此处输入图像描述

现在,我在 Vaadin 的 wiki 上遵循了以下指南:

https://vaadin.com/wiki/-/wiki/Main/Using%20SuperDevMode

CodeServer 按预期启动:

但是当我打开项目并附?superdevmode加到 URL 时,得到Recompilation failed...消息并且浏览器的控制台中有一些错误:

在此处输入图像描述

在此处输入图像描述

所以我的第一个问题与这个问题有关:

1)为什么有时重新编译会失败?那些SEVERE: JSONP compile call failed和是SEVERE: Timeout Excecution什么?

然后,如果我... click to retry有时会启动 superdevmode,但自定义小部件没有像我发布的上一个屏幕截图那样呈现。相反,我得到了一个标准的 Vaadin 的 v-textfield ......

在此处输入图像描述

2)WTF...为什么?我的自定义组件在哪里?

我注意到如果我打开localhost:9876,我也会遇到同样的问题,将按钮拖到Dev Mode On书签工具栏,然后在打开时单击它localhost:8080/project。我的自定义小部件消失了,取而代之的是 Vaadin 的 v-textfield 小部件......

关于Enable Source Map功能。在 wiki 上,他们说:

为了能够在 Chrome 中调试 Java 代码,请打开 Chrome Inspector(右键单击 -> Inspect Element),单击窗口下角的设置图标并选中“Scripts -> Enable source maps”。在检查器打开的情况下刷新页面,您将在脚本选项卡中看到 Java 代码而不是 JavaScript 代码。

在我的 Chrome 中,窗口下角没有设置图标,我单击右侧的齿轮图标并转到General -> Sources并检查Enable JavaScript Source Map(我的设置选项卡上没有通用Enable source maps条目)。

我可以看到 Java 源代码,但它们都是 GWT 和 Vaadin 组件的源代码:

在此处输入图像描述

所以我的第三个问题和相关问题:

3) 我怎样才能看到我的自定义小部件代码?

感谢关注!希望我很清楚。

0 投票
1 回答
335 浏览

gwt - 优雅关闭 GWT 超级开发模式

快速解释

对于我参与的一个项目,使用 Eclipse Luna 作为 IDE 在 GWT 2.7 中创建,在我们的服务器代码中,我们有一个使用 Hikari 配置的连接池(后端是 mariadb 数据库)(http://brettwooldridge.github.io/HikariCP/)。这一切都很好,除了一件事..

问题

为了避免我们的数据库服务器(ubuntu)爆炸,我实现了一个关闭钩子,例如:

理想情况下处理连接池中保存的连接的清理。然而,我注意到,当通过单击 Eclipse 中的 Terminate 按钮关闭 SDM 时,dataSource.shutdown(); 永远不会被调用,可能是因为服务器没有正常关闭。

以上似乎导致(我没有足够的 linux(与 mariadb 结合)知识来确定这是否属实,但对我来说似乎最合乎逻辑)最终使服务器变得非常慢,并最终耗尽其资源。所以我的假设是服务器保持连接处于活动状态,它们堆叠 n 次,直到资源不再可用并且服务器爆炸。

问题

如何使用 SDM 正确清理这些资源?或者我不应该在开发过程中使用连接池,而只在验收/生产环境中使用它?

谢谢你的时间

0 投票
2 回答
1345 浏览

java - 库源在 SuperDevMode 中不可用

我在这里创建了一个演示项目。

它使用 GWT 编译,Eclipse 没有任何问题。当我在 SuperDevMode 中运行应用程序时,第一次编译失败并出现以下错误:

库使用<super-source path="super" />标签。从我找到的 GWT 文档(http://www.gwtproject.org/doc/latest/DevGuideOrganizingProjects.html

“在开发模式下,本地 JRE 类总是取代从源代码编译的类。”

这是一个问题,因为我无法在 SuperDevMode 中使用该库。

有没有什么办法解决这一问题?我可以以某种方式省略超级源标签吗?

0 投票
0 回答
155 浏览

gwt - GWT 网络工作者和超级开发模式

是否可以在 GWT 超级开发模式下使用网络工作者?有什么解决方法吗?

我尝试在生产模式下使用源映射(生产中的GWT 源映射),但没有成功。

0 投票
1 回答
466 浏览

gwt-super-dev-mode - GWT Superdevmode 为 CSS 文件插入代码服务器

我正在尝试从经典模式转移到超级开发模式,并在后者中发现问题。问题有两个方面。首先,它试图使用代码服务器将 css 文件提供给网页。这是生成的网页中元素的一行:

您可以看到它通过在端口 9876 上运行的代码服务器传递引用。现在,如果它为文件提供服务,那就没什么大不了的了。但它不会。结果页面中缺少该文件中的样式。此 URL 直接指向代码服务器:http: //127.0.0.1 :9876/resources/standard.css ...给出“服务器错误”。Eclipse 正在抛出一个空指针异常。似乎对不在 /tdome 树中的文件感到胃灼热。只是嗅探并啄入现有文件的名称,有时 Eclipse 会说它忽略了请求。有时它会说文件不存在,而有时(当它真的很重要时,就像这里一样),它会给出 nullPointerException。在 WebServer.java:272,fwiw。所以我需要要么让 superdevmode 不理会这些引用,要么让它为文件提供服务。有任何想法吗?非常感谢-

0 投票
0 回答
137 浏览

java - GWT Super dev 模式:修改 DTO 时完全重新编译

我们目前正在使用 GWT 2.7 和超级开发模式进行增量编译,到目前为止取得了巨大的成功。但是,每次我们添加一个函数,从 DTO 中删除一个字段(在服务器和客户端之间共享)时,都会触发一次完整的重新编译(大约 20 分钟)。这极大地阻碍了我们的生产力。

我们确实使用了之前用于能够将休眠数据模型传输到客户端的 gilead 库。

我想知道增量编译在超级开发模式下是如何工作的,什么条件会触发完全重新编译?

0 投票
1 回答
1000 浏览

eclipse - 未知参数:-launcherDir GWT

我正在尝试使用 Tomcat 而不是 Jetty 在 superDevMode 中进行调试。

我按照本教程https://www.youtube.com/watch?v=w9270Yqt-5I

我将参数-launcherDir添加到我的调试配置中,但是当我运行配置时,我得到一个未知的争论错误。

控制台输出

我注意到Intellij IDEA有一个类似的问题GWT 插件,但我认为它有点超出我的想象,并且没有给出修复。

有人有解决方案吗?

0 投票
0 回答
468 浏览

gwt - GWT Super Dev Mode variable referenceError: variable is not defined

I'm using GWT Super Dev Mode and the Chrome debugger. Some (not all) variables won't let me examine their values, either by hovering or by right-click -> Evaluate in Console. The latter gives "ReferenceError: is not defined. It reminds me of an earlier environment where the compiler optimizer simply removed variables of short duration. Does anyone know why this happens or how to stop it? Here is a code example:

0 投票
1 回答
410 浏览

eclipse - 运行 GWT 2.7 net.ltgt.gwt.maven:gwt-maven-plugin 项目时出现问题

我觉得这可能是一个愚蠢的问题,答案可能很简单。我正在使用 Eclipse 4.4 和 Maven 来运行我的 GWT 2.7 应用程序。我正在重新设计我的项目布局,并想使用@ThomasBroyer 的新 gwt-maven-plugin。

我按照自述文件中的说明在eclipse中从archetype modules-webapp创建了一个新的maven项目一部分我有点不确定,但是对于父项目我右键单击-> Run As->Maven Build并将目标设置为“gwt:codeserver -pl *-client -am”,它在http://localhost:9876/上启动代码服务器。所以这很好。我想我要做的下一件事是为服务器代码运行码头,所以我右键单击 *-server 项目->运行方式->Maven 构建并将目标设置为“jetty:start -Denv=dev”,它说构建完成并且码头已经启动但是如果我去 localhost:8888/index.html 说它找不到。我确信我忽略了一些非常明显的东西,但一些方向会最有帮助。

谢谢

0 投票
1 回答
328 浏览

gwt - 如何将 GWT DevMode 的自定义子类迁移到 GWT 2.7.0 Super dev 模式

很长一段时间以来,我们使用 com.google.gwt.core.ext.ServletContainerLauncher 和 com.google.gwt.dev.DevMode 的自定义子类在 Eclipse 中运行我们基于 GWT 的应用程序。

这是为了允许我们运行我们的自定义(最新)Jetty,并且随着时间的推移,它给了我们一些其他控制,即在 Eclipse 中启动服务器的方式略有不同,以便允许文件在 Eclipse 项目中传播,而不是在哪里他们最终投入生产。

这些有效地取代/重新实现/覆盖JettyLauncher.javaDevMode.java的位

现在我正在尝试升级到 GWT 2.7,但这不再有效。具体来说,它始于:

我得到的只是臭名昭著的“GWT 模块”客户端“可能需要(重新)编译”。我看到 Eclipse 启动配置现在提供了超级开发模式和“经典”模式之间的选择。我还没有改变它(仍然是“经典”),但我们的想法是我们需要进入超级开发模式(主要是因为速度和支持,但会错过 IDE 中的经典功能和调试)。

我试图找到有关更改的文档(或需要在我的代码中更改)以升级到 2.7,但到目前为止失败了。任何人都可以帮忙吗?

谢谢!