GWT 2.7 资源通过类加载器定位。它应该通过 .gwt 中的<source /> 或 <resource /> 条目注册.xml



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

[WARN] 资源"images/home.png"是通过 ClassLoader 找到的。因此,该资源中的更改不会反映在每个文件的重新编译中。它应该通过 .gwt.xml 中的 条目注册。在 GWT 的未来版本中,我们将删除此回退,您的应用程序将停止编译

我有一个扩展客户端捆绑包的接口

public interface HomeResources extends ClientBundle {
    @Source("images/home.png")
    ImageResource home();
}

而镜像文件home.png的路径是src/main/resources/images/home.png

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

我尝试在我的 Module.gwt.xml 文件中添加这些标签<源 /> 或<资源 />,但它似乎不起作用,有什么建议可以修复此行为吗?

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

在 GWT 中,您不会在 ClientBundle 中使用的资源应位于 ClientBundle 类附近。对于您的示例:

package com.somepackage.client
public interface HomeResources extends ClientBundle {
    @Source("images/home.png")
    ImageResource home();
}

您的资源应位于此包中:com.somepackage.client.images

图像文件应位于源路径中,因此,如果不是这种情况,请将图像移动到源路径中,例如在客户端包中名为"资源"的包中。

否则在 gwt.xml 文件中尝试此操作:

<resource path="imagefolder" />

GWT 编译器警告说我们需要做什么。

"它应该通过您的.gwt.xml注册或输入。

但它并没有说明如何指定图像文件目录的路径位置。目录路径位置是 .gwt.xml 文件中的相对路径。

例如

<资源路径 />

检查文件名和资源名称。

文件名资源名称ss徽标.png | ssLOGO((; => 你有警告。
SS徽标.png | ssLOGO((; => 拼写检查。没有警告。就是这样。

我收到了同样的警告消息。原来文件名中有错别字。

@Source("img/icons_actions/icon_down.png")
ImageResource iconDown();

但实际文件是:.../img/icons_actions/icon_down.PNG

只区分大小写。确保它的拼写完全相同。

最新更新