GWT 2.7资源是通过ClassLoader定位的。它应该通过.gwt.xml

时间:2016-02-17 10:34:18

标签: java gwt gwt-2.7

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

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

我有一个扩展ClientBundle的接口

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进行编译。

我尝试添加这些标签< source />或< resource />在我的Module.gwt.xml文件中,但它似乎没有工作,任何修复此行为的建议?

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

4 个答案:

答案 0 :(得分:1)

在GWT中,您不会在ClientBundle中使用的资源应该位于ClientBundle类附近。 以你的例子:

package com.somepackage.client

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

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

答案 1 :(得分:0)

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

否则请在gwt.xml文件中尝试:

<resource path="imagefolder" />

答案 2 :(得分:0)

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

&#34;它应该通过.gwt.xml注册或输入。&#34;

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

例如

&lt; resource path =&#34; relative / path / to / images / directory / from / current / location&#34; /&gt;

答案 3 :(得分:0)

检查文件名和资源名称。

文件名资源名称 ssLogo.png | ssLOGO(); =&GT;你有警告 ssLOGO.png | ssLOGO(); =&GT;拼写检查。没有警告。 那就是它。