Настройка для быстрой перезагрузки изменений в веб-приложении Java при разработке с использованием eclipse, maven, spring, hibernate, jsf - PullRequest
1 голос
/ 01 июня 2011

Я разрабатываю веб-приложение J2EE, используя Eclipse IDE , Maven и Tomcat в качестве веб-сервера. Мне удалось настроить его для запуска и отладки из затмения и разрешения зависимостей из рабочей области и из Maven.

Сборка с Maven занимает до 120 секунд (сборка каждого модуля, затем развертывание веб-приложения с использованием war: inplace), а перезагрузка также занимает до 120 секунд ( hibernate , spring , jsf и т. Д.) Боль в шее перезагружать полный сервер каждый раз, когда мне нужно внести изменения в проект.

Моя структура проекта - это "составной" проект Maven (в модулях). Когда я изменяю существующий метод, мне не нужно перезагружать его, но когда я добавляю 1 метод, класс, атрибут и т. Д., Я действительно нуждаюсь.

Я читал, что использование JRebel является опцией, но я не могу себе этого позволить, поэтому мне интересно, нет ли другого способа быстро внести изменения в бизнес-код без перезагрузки полного приложения.

Я также настроил eclipse, чтобы НЕ автоматически перезагружать веб-приложение, а не автоматически синхронизировать веб-ресурсы (в противном случае мой сервер обнаружил изменения и начал перезагрузку). Это хорошо для синхронизации ресурсов по требованию (нажатие кнопки публикации), но с кодом Java, похоже, не работает.

1 Ответ

0 голосов
/ 01 июня 2011

Поскольку вы используете Eclipse, используйте плагин M2Eclipse из sonatype здесь: http://m2eclipse.sonatype.org. Это позволит экспортировать классы, созданные компилятором Eclipse, напрямую в Tomcat. Нет необходимости выполнять команду «mvn clean compile» или «mvn clean package»: D

Просто внесите изменения в свой код, и Eclipse опубликует изменение немедленно. Если изменение относится к файлу классов, вам придется отказаться от Tomcat, но это займет всего около 4,83324523 секунд с Java 1.6 на приличном устройстве Intel.

Имейте в виду, что если вы позволяете Eclipse делать сборки и вызываете сборку Maven под ним, Eclipse будет сбит с толку, почему изменилось содержимое целевой папки. Вы можете уменьшить это, удалив целевую папку, обновив (f5) проект и принудительно очистив Eclipse.

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