Как да добавите статични ресурси в GWT приложение?

Опитвам се да добавя PNG графика към приложение GWT 2.6 в Eclipse Kepler, като използвам най-новите добавки.

Намерих множество въпроси на StackOverflow, отнасящи се до тази тема, като това, това, това, това или това. По същия начин има много ресурси в мрежата, като това, това или това. В крайна сметка има официални документи за структурата на проекта.

Всички те се свеждат до поставяне на статични ресурси като файлове с изображения в папката war или public.

Сега структурата на моя проект по подразбиране, създадена от Eclipse, изглежда не съдържа папка с име public, така че не съм сигурен къде би трябвало да се намира тази, но опитах на две машини да поставя файловете в папката war. Очевидно това не работи, тъй като персонализираното съдържание на папката war се изтрива всеки път, когато прекомпилирам проекта.

Какво правя грешно; къде трябва да се поставят файлове с изображения или други персонализирани статични ресурси в моя проект?


person O. R. Mapper    schedule 25.03.2014    source източник


Отговори (1)


Съдържанието на папката war не трябва да се изтрива, с изключение на конкретната папка, в която GWT записва (war/myapp, ако приемем, че имате rename-to="myapp" във вашия .gwt.xml). Ако това стане, значи има или грешка в Google Plugin за Eclipse, или неправилна конфигурация на вашия проект Eclipse.

Re. папката public, тя трябва да стои точно до вашия .gwt.xml файл (и client, server и/или shared подпакети)

Дали ще използвате едното или другото зависи от това как ще се използва вашият модул:

  • Ако това е библиотека и искате да изпратите ресурса с нея, тогава използвайте public; и се уверете, че използвате достатъчно уникални имена на файлове/папки, за да не предизвиквате конфликти.
  • Ако това е библиотека и искате да принудите хората да предоставят свои собствени ресурси, тогава не използвайте public (можете също така да направите отделен модул само за ресурсите, който хората ще могат свободно да използват или не).
  • Ако е приложение, тогава изберете каквото искате. Склонен съм да предпочитам war.
person Thomas Broyer    schedule 25.03.2014
comment
Хм, вярно, war/images не се изтрива. Изглежда, че винаги съм опитвал war/<projectname>/images, защото един отговор тук го казва . - person O. R. Mapper; 25.03.2014