问题标签 [gwt-2.7]

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 投票
4 回答
1438 浏览

java - GWT 2.7 资源是通过 ClassLoader 定位的。它应该通过以下方式注册或者在您的 .gwt.xml 中输入

我正在将项目从 gwt 2.6.1 迁移到 gwt 2.7.0,编译成功,但在编译期间显示警告消息

[警告] 资源 'images/home.png' 是通过 ClassLoader 定位的。因此,该资源的更改不会反映在每个文件的重新编译中。它应该通过 .gwt.xml 中的 <source /> 或 <resource /> 条目进行注册。在 GWT 的未来版本中,我们将删除此回退并且您的应用程序将停止编译

我有一个扩展 ClientBundle 的接口

图片文件home.png的路径是src/main/resources/images/home.png

它适用于 gwt 2.6.1,但根据此警告消息,它不会再与下一个 gwt 版本 2.8.0 一起编译。

我试图在我的 Module.gwt.xml 文件中添加这些标签 <source /> 或 <resource /> 但它似乎不起作用,有什么建议可以解决这个问题吗?

最后我创建了文件夹 src/main/resources/<same_package_ClientBundle>/images 并将图像放在这个文件夹中,警告消息消失了

0 投票
1 回答
814 浏览

gwt - gwt 2.7 Super Dev Mode 如何重新编译?

我正在从 gwt 2.6.1 迁移到 2.7

当我启动超级开发模式时,我无法通过单击书签Dev Mode On重新编译我的应用程序。单击Dev Mode Off然后Dev Mode On可以工作,但我认为这不是使用 SDM 的好方法。

我听说在 gwt 2.7 中不再需要使用书签,但是如何在不点击书签的情况下启动超级开发模式?(如果我不点击书签,我看不到我的更改)

0 投票
1 回答
534 浏览

java - GWT 编译器 NoSuchMethodError

我的 GWT 编译器开始失败并出现 NoSuchMethodError。当我将方法参数从 Long 更新为 long 时,它开始发生。我不应该需要,但我尝试将其切换回来,但我仍然遇到同样的错误。我的 java eclipse 运行时编译器没有将该行视为错误,并且在开发模式下一切都运行良好。

因此,它似乎将 long's 和 Long's 视为不同的类型。这是实际方法的样子:

我不确定这是否与它有关,但在错误消息中,它输出的行与我的代码中的内容略有不同。它将长变量“val”替换为“Long.valueOf(val)”。

我尝试添加长版本和长版本,看看它是否解决了这个问题,它确实解决了,但它在另一个地方也出现了类似的错误。这是一个 GWT 错误还是我可能配置错误?

这是完整的编译器日志:

0 投票
1 回答
143 浏览

gwt - *.nocache.js 文件的已知时间戳错误的解决方法(适用于 Windows / 没有 Maven)

在 GWT 2.7 中,*.nocache.js 文件存在一个已知的错误,这些文件在编译时没有获取实际时间戳,而是获取模块文件的时间戳(请参阅this)。

对于 gwt-maven-plugin,已经提交了一个解决方法(参见 CompileMojo.java)。

对于那些不是用 Maven 构建的项目,我想问一下,是否有人知道“无 Maven”和自动化解决方案作为解决方法?!

我正在做的正确的事情是触摸我的Linux服务器上的文件

现在工作正常。我也可以copy /b filename.ext +,,在 Windows 上使用,但我想知道是否有人知道 GWT 2.7(使用 Eclipse)中此编译问题的自动解决方法

0 投票
1 回答
1452 浏览

gwt - 通过 *.gwt.xml 精确控制 GWT 排列

我需要精确指定 GWT 排列并控制其中的变化(每个组合支持的属性值),但很难找到详细的行为规范。

在我的实验中,我了解到我必须注意创建 set-property ... when-property-is 循环,即使这些循环是“稳定的”——即它们不会改变循环的任何部分,只需“确认”它. 这限制了我的能力,所以我决定尝试另一种方式 - 定义一个全新的属性,(只是)例如:

...然后有类似的东西:

...然后我尝试将其限制为除不受支持之外的所有内容,该示例用作示例但完全违反直觉,因为它使用与上述相同的 set-property 标记:

我还必须折叠其他属性以确保它们不会导致额外的排列。

不幸的是,这似乎没有按预期工作(使用 GWT 2.8 RC2 进行了尝试)。即使“不受支持的”排列没有出现(这是需要的),它的属性组合也会重新出现在其他排列中(这是不需要的)。

有人可以帮我找到关于此的权威和完整的文档或帮我解决这个问题吗?

谢谢!

0 投票
1 回答
181 浏览

gwt - 从不同的 url 启动应用程序时 GWT RPC 失败

我正在使用 url 导航到我的 GWT 应用程序中的不同屏幕。例如:

我有一个 servlet,它提供包含 GWT 所需脚本元素的 html(我的 GWT 模块名称是“app”):

这与 GWT 2.6.1 配合得很好。在浏览器开发工具中,可以看到对我RemoteService的RPC 调用http://127.0.0.1/app/rpc

问题是当我升级到 GWT 2.8 时,我的应用程序的 RPC 调用端点现在不同且错误,具体取决于使用的 URL。例如:

对于上述 URL,模块始终正确加载和执行,但是 RPC 在前两种情况下失败。只有最后一个 URL 允许我的应用程序进行 RPC 调用。

可以通过将客户端服务代理转换为ServiceDefTarget并使用setServiceEntryPoint(). 如下:

但是,请求负载仍然包含对不正确模块库的引用。在 RPC 请求上发送的 http 标头也具有不正确的值:

有没有办法强制客户端的 RPC 机制使用正确的 RPC URL /app/rpc?或者也许是一种正确设置模块库的方法?

更新 1

在 GWT 2.7 中看到相同的行为。

此外,当部署在 WAR 中时,<module-hash>.cache.js文件不会加载,因为它也是相对于 url 请求的。这很糟糕,因为这意味着模块代码不会被缓存,因为这个 url 每次都不一样。需要在选择器中进行修复<module>.nocache.js有没有人在现实世界中使用带有 url 链接的 GWT?

0 投票
1 回答
694 浏览

java - GWT Compiler : when is a compilation error fatal?

I'm trying to understand more about how GWT compilation works.

More specifically, I want to know how does GWT decide that a particular error is fatal, and the app compilation should fail because of it, and how does it decide that compilation is successful, even though there are compilation errors.

The reason I'm asking is that it's very difficult to distinguish legitimate errors in my log when doing a search, from ones that don't seem to cause any problem.

I'm talking about GWT 2.7 and GWT 2.8 (which I've seen they exhibit the same behavior). Also, I'm using GWTP 1.5.3, if this is relevant somewhat.

A concrete example: I have this error in my logs:

The error above does not make my app to fail compilation, and myApp works just fine (the class is something that registers some GIN bindings, which also work).

Why didn't GWT failed my compilation when it encountered that error?

Additionally, I also have other errors such as:

These errors also don't fail my compilation. Why?

Edit1: forgot to add.

I'm tempted to guess that compilation fails when the error is in something directly reachable from an entry point, and that compilation is OK when that code is not reachable. However, I have the counter-example of code with annotations. I have code that IS reachable from the entry point, and has annotations whose source code is not available, and yet the compilation succeeds (although this is the only exception that I could find so far).

0 投票
1 回答
120 浏览

java - 如何在没有 UiBinder 的情况下将 CellTable.Style 与 GWT 2.7.0 一起使用?

几周前我加入了一个 GWT 应用程序项目。代码库早在 2009 年就开始了。我正在尝试用 CellTable 替换 FlexTable,以便我可以利用可排序的列。项目中GWT的当前版本是2.7.0,但是翻看代码,好像还有一些功能还在使用,已经过时了。我是 GWT 的新手,我可能是错的。

到目前为止,事情在功能上都很好。但是,GWT 似乎覆盖了我更新 CSS 的尝试。我使用GWT dynatablerf 示例作为模型将 CSS 添加到 CellTable。TimeSlotWidget使用CellTable.Style

然后像这样将其应用于 CellTable:

我试图在我的代码中使用这种方法。我什至CellTable.Style.DEFAULT_CSS从值列表中省略了 并创建了我自己的 CSS 样式表,它从 GWT CellTable.css的副本开始

我注意到 GWT TimeSlotListWidget 示例有一个带有 UIBinder 的 ui.xml 文件。我的项目目前不使用 UIBinder。

当我运行我的代码时,<style>页面中插入了一个似乎是标准 GWT CellTable.css 的块。然后直接在那之后,<style>用我的 CSS 插入另一个块。而且我的 CSS 并没有覆盖标准的 GWT CSS。

如何防止插入 GWT CellTable.css?为什么要插入?