Intellij IDEA деплой на Tomcat – Devcolibri

Intellij IDEA деплой на Tomcat

Хочу показать как можно быстро тестировать проект прям с IDE Intellij IDEA, а также расскажу плюсы от этого.

Шаг 0. Для чего это нужно?

Думаю вы уже работали над разработкой Java EE проектов ивам приходилось проверять его после написания очередной фитчи, а даже если не приходилось то придётся :)

Deploy – процесс развертывания (распаковки) проекта на сервере приложений.

О серверах приложений можно почитать тут. Так вот стандартный процесс деплоя:

1. Вы либо в ручную через Admin Panel или же через Console деплоите;

2. Вы  используете Maven, Ant либо Gradle инструмент для этого.

Но не первый не второй способ не совсем удобный если вам к примеру нужно провести Debug проекта и отловить неисправность. И это одна из значительных причин использовать способ о котором я расскажу ниже.

Давайте теперь познакомимся собственно со способом деплоя используя Intellij IDEA.

Шаг 1. Готовим проект

Для того чтобы продемонстрировать данный способ мне необходимо иметь пример проекта для деплоя. Я буду использовать проект с этого урока Spring 3. JavaConfig на примере Spring MVC.

В скачанном вами проекте для деалоя на Tomcat необходимо в pom.xml добавить еще одну зависимость:

<dependency>
	<groupId>jstl</groupId>
	<artifactId>jstl</artifactId>
	<version>1.2</version>
</dependency>

Открываем проект, справа в меню Maven Project выбираем clean | install как показано на изображении ниже, таким образом мы соберем наш проект и в итоге у нас получится war файл, который мы будем деплоить на сервер:

После этого в корне проекта появится папка target и в ней будет лежать ваш war архив.

Дальше нам нужно скачать сервер приложений Tomcat 8+ Скачать

Внимание! Вы можете использовать любой сервер приложения не обязательно Tomcat. Я рекомендую использовать его так как он лёгкий и быстро стартует.

Шаг 2. Конфигурируем Intellij IDEA для Deploy

Теперь в открытом вами проекте который вы хотите задеплоить, со студии IDEA выполните действия, которые показанные на изображении ниже:

После этого в появившемся окне нажмите на плюс и выберите Tomcat ServerLocal:

После этого вводим имя и нажимаем Configure выбираете где лежит скачанный и распакованный Tomcat и жмете ОК.

Теперь переходите во вкладку Deployment жмем плюсик выбираем Artifact:

B в появившемся окне выбираете свой Artifact war:

Жмете ОК дважды. Вот общая конфигурация, которая должна появится у вас:

Шаг 3. Run и Debug

После настройки вы можите либо просто запускать ваш проект со студии либо проводить Debug со студии в зависимости от режима:

Зеленый треугольник просто запускает проект, а точней деплоит его и запускает в выбранном вами браузере при конфигурации.

Зеленый жучек деплоит проект на сервер и запускает Debug режим, который позволит вам отловить ошибки.

После запуска я получу задеплоиный проект:

Зеленый индикатор в Deployment говорит о том что проект удачно развернулся на сервере.

И в браузере:

На этом все. Надеюсь я смог вам помочь.

Также читайте: «Как создать Servlet? Полное руководство»

ПОХОЖИЕ ПУБЛИКАЦИИ

    None Found

188508
31/03/2014

31 комментариев к статье "Intellij IDEA деплой на Tomcat"

  1. Нажимаю на “+” и в настройках нету Tomcat.
    PS.У меня стоит Tomcat 7

    • Там в самом низу как + нажмете должна быть кнопка показать остальные.

    • Уже давно не актуально, но для потомков. Если у вас ос-unix, то очень часто бывает так: вы поставили себе пароль и не настроили права в системе. Поэтому при поиске tomcat’a вы его там не найдете. Не важно в какую папку вы распаковали томкэт, чтобы idea его увидела, нужно дать ей доступ к распакованному томкэту, грубо говоря, идея не имеет прав лазить по вашей файловой системе, поэтому вы должны сначала проложить ей путь и после этого томкэт объявится в нужном месте. У мен сейчас такая проблема и сколько я не искал как это нормально исправить натыкался только на вот эту команду – chmod 777 fileName. Но это костыль

  2. При открытии пакета выдало ошибку:

    Spring Configuration Check
    Unmapped Spring configuration files found. Please configure/setup Spring facet for modules:

  3. При запуске проекта не обновляется содержимое папки %TOMCAT_HOME%\webapps. Логи:

    Connected to server
    [2015-03-16 08:32:02,554] Artifact Croc:war: Artifact is being deployed, please wait…
    [2015-03-16 08:32:03,331] Artifact Croc:war: Artifact is deployed successfully
    [2015-03-16 08:32:03,331] Artifact Croc:war: Deploy took 777 milliseconds

    И действительно запускается сервер, открывается страница в браузере, но не с приложением, а стартовая, но это было бы ничего, заходим в приложение, а там старая версия приложения, а все потому, что деплоится старая версия приложения, лежащая в %TOMCAT_HOME%\webapps.
    Как сделать так, чтобы автоматически обновлялось приложение в %TOMCAT_HOME%\webapps.
    И есть подозрение, что вообще не происходит никакого деплоя, хотя логи говорят обратное.

    • Можно настроить в конфигурации сервера, в меню “Before launch” автоматическую сборку war-а перед каждым запуском вместо Make. Щелкните на Make, чтобы подсветить его полосой выделения, далее: над строкой с Make есть плюс, минус и карандашик, означающие соответственно добавление, удаление и редактирование пункта этого меню. Вместо Make наберите словами “clean install”, это команды мавена для сборки war-а, которые в результате будут выполняться автоматически после каждого нажатия кнопки Run

      • Возникает точно такая же проблема.
        После запуска локального tomcat сервера %TOMCAT_HOME%\webapps не появляется
        Хотя написано что аритифакт успешно задеплоился. Если задеплоить отдельно руками то все ок.
        Есть подозрение что Idea разворачивает где то свой локальный томкат?

  4. А этот эксепшн может быть последствием неправильной установки или тут из другой оперы. локалхост:8080 работает исправно

  5. Спасибо, помог разобраться.
    Все подробно очень подробно расписано

  6. У меня нет менюшки Artifact только External Source!

  7. Спасибо за статью. Однако возникла проблема: с чем может быть связано, что при открытии http://localhost:8080/welcome возникает ошибка 404? Сам localhost открывается. Делал всё как написано.

  8. У меня он устанавливает и работает хорошо, но есть НО! Он удаляет в папке “Root” исходный проект от tomcat (гостевая) и устанавливает туда мой проект! Мне это не нужно. Как сделать так, чтобы он отдельным проектом в “webapp” его клал?

  9. Подскажите почему при создании проекта, у меня не создается так сказать “Hello world” папка src не создается вообще

  10. Если использовать Idea CE, то для деплоя можно использовать tomcat7-maven-plugin, который успешно деплоит также на запущенный 8ой и 9ый томкат через web /manager, используя tomcat-user с необходимыми правами. А для деплоя на jetty есть jetty-maven-plugin, который через scanIntervalSeconds можно настроить так, чтобы он непрерывно работал и каждые несколько секунд проверял состояние проекта и редеплоил, если что-то в проекте изменилось.

  11. Чем war отличается от war exploded? Где можно почитать?

  12. Что у вас с сайтом. больше 100 мб RAMа сожрал и жутко на процессор давит

  13. Exploded будет быстрее и больше возможностей (например можно будет перезагрузить ресурсы без redeploy)

  14. Все зависимости подключил, как в уроке #3 S4AA, но аннотацию @EnableJpaRepositories() идея не видит и импорт import org.springframework.data.jpa.repository.config.EnableJpaRepositories; не подтягивается. Почему-то data горит красным, хотя зависимость org.springframework.data установлена. Не подскажите, в чем дело может быть?

Добавить комментарий

Сайт использует cookie-файлы для того, чтобы вам было удобнее им пользоваться. Для продолжения работы с сайтом, вам необходимо принять использование cookie-файлов.

Я ознакомлен(а)