Руководство пользователя IntelliJ IDEA. Сервера приложений.

Сервера приложений

IntelliJ IDEA Ultimate поставляется с предустановленной поддержкой большинства популярных проприетарных и открытых 
серверов приложений, включая GlassFish, WebLogic, JBoss EAP, Wildfly, WebSphere, Tomcat, TomEE, Jetty, 
Geronimo, Resin и Virgo.


  1. Сервера приложений
    Чтобы настроить сервер в среде разработки, откройте Settings → Application Servers и нажмите кнопку Add application server. Среда разработки автоматически определит версию установленного сервера и предложит вам выбрать, какие библиотеки вам добавить в список зависимостей если данный сервер используется в проекте.




  2. Веб facet
    Очень важной вещью при работе с серверами приложений является Web facet. В нем среда разработки хранит настройки связанные с веб сервером для каждого модуля в проекте. В число этих настроек входят дескрипторы установки и корневые папки веб-ресурсов, и они доступны в разделе Project Structure → Modules и Project Structure → Facets.



    Обычно вам не нужно настраивать все это вручную. Среда разрабоки сама находит дескрипторы и корневые папки ресурсов, и предлагает вам добавить их в настройки.

  3. Артефакты
    Артефакты, это то что среда разработки выкладывает на сервер когда вы запускаете ваше веб-приложение с помощью Run configurations. У каждого артефакта есть его имя, тип, директория в которой он собирается, и тип сборки (Web Application: Archive, Web Application: Exploded, EJB Application: Archive, EJB Application: Exploded, и т.д.). Чтобы настроить артефакты, откройте Project Structure → Artifacts.



    Если вы используете системы сборки Maven или Gradle, вам не нужно настраивать артифакты вручную. Среда разработки автоматически синхронизует их с настройками артефактов определенных в файлах конфигурации сборки.

  4. Настройки запуска
    Настройки запуска (Run configuration) определяют как артифакт будет выложен на сервер. IntelliJ IDEA поддерживает два типа настроект запуска — локальную (Local) и удаленную (Remote). При локальном запуске запускается новый экземпляр сервера и артефакт размещается на нем. При удаленном запуске артефакт выкладывается на уже запущенный удаленный сервер.



    Каждый сервер приложений может иметь разный набор параметров в настройках запуска(Run configuration).



    Один из важных параметров тут — On ‘update’ action, который определяет как обновить ваше приложение на сервере, когда вы хотите выложить новую версию, нажав Ctrl + F10 (Cmd+ F10 для Mac). В зависимости от того что вы выбрали, среда разработки может обновить ресурсы, обновить классы и ресурсы(update resources), выложить заново все приложение(update classes and resources) или рестартовать сервер (restart the server). Если вы не хотите чтобы каждый раз при запуске проекта всплывало диалоговое окно с выбором того как обновить ваш проект на сервере, вы можете снять галочку Show dialog в настройках, что поможет вам сэкономить массу времени если вы часто перезапускаете ваш проект.

    Другой важный параметр это On frame deactivation, он определяет как обновить ваше приложение на сервере, когда вы переключились из среды разработки (к примеру в браузер). В зависимости от того что вы выберете, среда разработки может обновить ресурсы, обновить классы и ресурсы, или не делать вообще ничего. Таким образом, каждый раз как вы переключаетесь в браузер, ваш проект может автоматически загружаться на сервер.
    Не забывайте, что вариант обновления классов и ресурсов доступен только если ваш артифакт не является архивом (Exploded). Для архивов используйте HotSwap.
    По умолчанию, среда разработки запускает сервер приложений используя ту версию JRE что настроена для вашего проекта. Но вы можете выбрать и любую другую из установленных.
    Важной частью любой конфигурации запуска является выкладывание артефакта на сервер.



    По умолчанию, среда разработки автоматически собирает артифакты перед выкладыванием. Но вы можете перенастроить это поведение во вкладке Before launch окна Run configuration.
    В настройках удаленного запуска вы также можете указать адрес и номер порта вашего сервера, на который вы хотите залить проект.



  5. Запуск и отладка приложения
    После того как вы создадите настройки запуска, вы можете запускать ваше приложение с отладчиком или без с помощью кнопок на панели инструментов, или комбинаций клавиш Shift + F10 для запуска без отладчика, и Shift + F9 с отладчиком.



  6. Обновление и HotSwap
    Когда вы хотите внести изменения в код уже запущенного приложения, мы рекоммендуем использовать функцию Update, доступную по сочетанию клавиш Ctrl + F10 (Cmd + F10 для Mac). Как уже отмечалось, она доступна только если ваш артефакт не является архивом. В зависимости от вашего выбора, при обновлении могут быть перезалиты ресурсы или перезалиты классы и ресурсы. Если обновление запущено в режиме отладки, оно использует режим HotSwap. В противном случае используется Hot redeployment.



    Если ваш артефакт является архивом, вы можете полагаться только на HotSwap, который автоматически будет использован в режиме отладки.

  7. Сборка артефактов
    Для того чтобы собрать артефакты вашего проекта, надо запустить в среде разработки Build → Build artifacts.



  8. Окно инструментов сервера приложений
    Каждая конфигурация сборки отображается в окне инструментов сервера приложений, вместе с типами сервера и артифакта. Также это окно может быть полезно при запуске/остановке сервера и заливкой/удалением/настройкой артефактов.



Советуем также изучить Getting Started with Java EE 7 and GlassFish 4.0 где описано как создавать, настраивать, выкладывать и отлаживать приложения Java EE 7 на сервере приложений GlassFish 4.0.

Оригинал статьи

2 комментария

evgeniy_h
Плюсую! Данный топик — редкость на просторах русскоязычных мануалов IJI.
kapion
Искал 2 дня подобную тему, огромное спасибо!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.