Я разрабатываю проект на Eclipse Juno, используя GWT и GAE.NoClassDefFoundError в Google App Engine
В моем первоначальном проекте были все его пакеты и классы в одном проекте, и он отлично работал как в режиме разработки, так и при загрузке в Google App Engine в Интернете.
Тогда я создал другой проект (в том же рабочем пространстве), я переместил классы, которые были родовыми, чтобы их можно было использовать в других проектах. Я не создал файл Jar. Должен ли я? Мне жаль, что я не могу просто сохранить свои общие классы в другом проекте, не помещая их в файл jar.
Через некоторое время мне удалось создать правильные файлы XXX.gwt.xml в обоих проектах и добавить новый проект на вкладку «Проекты» основных свойств проекта (Проект >> Свойства >> Проекты), чтобы сделать перемещенные классы, видимые для основного проекта. Компилятор GWT обнаружил эти перемещенные классы, перевел их в Javascript-код, и основной проект смог выполнить их на стороне клиента.
Моя проблема на стороне сервера. Независимо от того, что я пытаюсь, часть сервера не может найти перемещенные классы, и при попытке выполнить любой из них он приходит с ошибкой «NoClassDefFoundError» при запуске в режиме разработки (я не пытался загрузить в Google App Engine в Интернете все же). Если я прокомментирую все ссылки на эти классы на стороне сервера, ошибка не появляется, но, конечно, у меня нет их функциональности.
Гастон Ceron
Вам не нужно создавать JAR, но вы должны каким-то образом загрузить этот код в AppEngine. Самый простой - это JAR, который вы копируете в WEB-INF/lib. – Thilo
Спасибо, я подозревал, что мне понадобится файл jar. – gastonceron