GWT 2.7 Ресурс был найден через ClassLoader. Он должен быть зарегистрирован через запись <source /> или <resource /> в вашем.gwt.xml

Я перенес проект с gwt 2.6.1 на gwt 2.7.0, компиляция прошла успешно, но во время компиляции отображаются предупреждающие сообщения о нарушениях

[WARN] Ресурс 'images/home.png' был найден через ClassLoader. В результате изменения в этом ресурсе не будут отражены в перекомпиляциях для каждого файла. Он должен быть зарегистрирован через запись или в вашем.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.

Я пытался добавить эти теги или в мой файл Module.gwt.xml, но, похоже, это не работает, есть ли какие-либо предложения, чтобы исправить это поведение?

Наконец я создал папку src / main / resources / / images и поместил изображение в эту папку, предупреждающее сообщение исчезает

5 ответов

В GWT ваши ресурсы, которые вы будете использовать в ClientBundle, должны находиться рядом с классом ClientBundle. Для вашего примера:

package com.somepackage.client

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

Ваши ресурсы должны быть расположены внутри этого пакета: com.somepackage.client.images

Файл изображения должен находиться в исходном пути, поэтому, если это не так, переместите изображение в исходный путь, например, в пакет с именем "Resources" в пакете Client.

В противном случае попробуйте это в файле gwt.xml:

<resource path="imagefolder" />

Я получил такое же предупреждающее сообщение. Выяснилось, что в имени файла опечатка.

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

Но на самом деле файл был: .../img/icons_actions/icon_down.PNG

Только с учетом регистра. Убедитесь, что это заклинание точно такое же.

Проверьте имя файла и имя ресурса.

имя файла имя ресурса ssLogo.png | ssLOGO(); => вы получили предупреждение.
ssLOGO.png | ssLOGO (); => Проверка правописания. Нет предупреждения Вот и все.

Предупреждение компилятора GWT говорит о том, что нам нужно сделать.

"Это должно быть зарегистрировано через или запись в вашем.gwt.xml."

Но это не говорит о том, как указать путь к каталогу файлов изображений. Путь к каталогу - это относительный путь из файла.gwt.xml.

Например

<ресурсный путь = "относительный / путь / к / изображениям / каталог / из / текущего / местоположения" />

Другие вопросы по тегам