Обновить бэкэнд в разработке GWT - PullRequest
1 голос
/ 09 апреля 2010

Я занимаюсь разработкой приложения GWT, которое использует EJB и другую технологию Java EE 6 в качестве бэкэнда. В настоящее время я использую плагин GWT 2.0 для Safari.

Когда я изменяю свой код на стороне клиента GWT и сохраняю в своей IDE (NetBeans), все, что требуется, - это просто перезагрузить браузер, чтобы изменения вступили в силу. Это прекрасно работает!

Однако часто я работаю на стороне сервера (EJB, код сервера GWT и т. Д.), А затем что-то на стороне клиента GWT. Любые изменения, сделанные на стороне сервера, по-видимому, не приводят к постепенному развертыванию на сервере Glassfish V3. В настоящее время я закрываю приложение режима разработки GWT, затем перекомпилирую EJB-компоненты и затем возвращаюсь в режим разработки GWT. Это утомительно.

Есть ли лучший способ сделать это? Я попробовал опцию «развернуть при сохранении» в NetBeans, но, похоже, это не сработало.

1 Ответ

1 голос
/ 09 апреля 2010

Хитрость заключается в том, чтобы создать разорванный каталог ear (вместо файла ear) и развернуть его на своем сервере приложений. Он работает в JBoss и Weblogic, и должен работать в Glassfish, но не пробовал.

Идея в том, что вы вообще не используете архивы. В ваших военных каталогах создайте папку WEB-INF / classes и настройте IDE для записи файлов классов в этот каталог. Таким образом, когда вы изменяете java-файл в вашей IDE, он будет записывать в ваш каталог классов, а JVM будет оперативно развертывать ваши классы.

У этого подхода есть некоторые ограничения. Если вы измените сигнатуру метода или добавите класс или новый метод, JVM не сможет его забрать. В таких случаях прикосновение к web.xml повторно развертывает WAR. Это само по себе улучшение от перезапуска всего сервера приложений.

Требуется час или два, чтобы получить правильные настройки, но после этого вам просто понравится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...