Как запустить tomcat в intellij idea
Перейти к содержимому

Как запустить tomcat в intellij idea

  • автор:

Как запустить tomcat в intellij idea

Helen Scott

We’re going to create a small web application that runs on Tomcat to demonstrate the integration in IntelliJ IDEA Ultimate:

  1. From the Welcome Screen select New Project.
  2. If you have an existing project open, click File | New. Select Java Enterprise on the left-hand menu and enter the following details:
Field Name Description
Name The name of your project, such as HelloWebApp .
Location The location of your project.
Create Git repository Select this checkbox if you want to use Git to version control the files in this project.
Template We want to create a RESTful web application so leave the REST service template selected.
Application Server Select New > Tomcat Server. For the Tomcat Home, browse to the directory where you have Tomcat installed. This will also populate the Tomcat base directory. Click OK.
Language This blog post uses Java.
Build System This blog post uses Maven.
Group You can change this if required or leave it as the default com.example .
Artifact This is the name of your project by default. You don’t need to change it.
JDK I’m using JDK 17 for this blog post.

New Tomcat Project

  1. Click Next to go to the next step in the tutorial and select Jakarta EE 9 from the Version drop-down. The Eclipse Jersey Server and Weld SE have been preselected for us because we selected REST service as the template in the previous step.
  2. Click Create to set up the project. IntelliJ IDEA will now create our simple web application which will output “Hello, World!” when it receives a GET request.

You can open the Services window with ⌘8 (macOS) / Alt+8 (Windows/Linux) to see the Tomcat server we just configured along with our web application.

We can run our application with ⌃⇧R (macOS) / Ctrl+Shift+F10 (Windows/Linux) and this starts our Tomcat server. In the Run window ⌘4 (macOS), Alt+4 (Windows/Linux), you can check the logs to ensure that your Tomcat server is being deployed, however, IntelliJ IDEA automatically opens a browser when the URL of the application’s root context — http://localhost:8080/HelloWorldApp_war_exploded/. You should receive a 404 error:

404 Error in the browser

We get this 404 page because Tomcat is running and listening for requests, but our application has no view to display. For example, we don’t currently have an index.jsp file. (because it’s a simple service with some REST APIs). In the next step, we will figure out how to reach our application’s endpoint that displays the Hello World message.

If we go back to our application code, we can find the ApplicationPath in our HelloApplication.java — which is /api . In addition, in our HelloResource.java file, our Path is set to /hello-world . This means we can make a GET request to the HelloResource by adding api/hello-world to the URL in my browser making the full URL: http://localhost:8080/HelloWorldApp_war_exploded/api/hello-world.

Now you will be able to see Hello World printed out in your browser:

Развертывание веб сервиса на Tomcat в Intellij Idea

Развертывание веб сервиса на Tomcat в Intellij Idea - 1

Пытаюсь второй день развернуть веб сервис по разным туториалам, через Идею. Прочитал кучу мануалов и документации по этой теме, но результат все так же печален — из среды запускаю свою конфигурацию, но по адресу localhost:8080, у меня видно следующее: Развертывание веб сервиса на Tomcat в Intellij Idea - 2За безупречный пример я взял вот эту статью: http://devcolibri.com/1043 Если делать все в точности как тут описано — все работает. Однако, структура моего проекта, который я создал на основе всего того, что прочел несколько отличается: Развертывание веб сервиса на Tomcat в Intellij Idea - 3Конфигурация моего проекта выглядит вот так: Развертывание веб сервиса на Tomcat в Intellij Idea - 4Уж не знаю все ли я верно сделал. Может кто подсказать, что я делаю не так? Идея запускает томкат, но в логах ошибок нет, все выглядит так, будто все работает. Подозреваю, что war файл не кладется куда-то. Но куда и как должен именно в идее я не понимаю..

Java-университет

Комментарии (16)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
noxior Уровень 30
29 октября 2017
Подскажите на какой версии java сейчас javarush
fatfaggy Уровень 26
28 октября 2017
Если будет интересно, я сделал пошаговый туториал как я обычно создаю web проект в идее.
fatfaggy Уровень 26
27 октября 2017

покажи как у тебя выглядит артефакт? это там, где настройки проекта, там где можешь либы всякие подключать, так вот там есть раздел с артефактами. ну и проверь, что именно этот артефакт у тебя при запуске и развертывается (на последнем скрине вторая вкладка, Деплоймент). Это если проблема с артефактом, с которой я постоянно сталкивался раньше сам)) особенно, когда решал поменять структуру проэкта

покажи файл web.xml. если там с маппингом намудрил что-то — тогда тоже 404ю ошибку можешь получать

если есть ссылочка на код на гитхабе — можешь тоже приложить. на своем компе ковырять удобнее, чем абстрактно так что-то пытаться понять)

UPD: почитал статью, они там собирают мавеном war файл, а потом в разделе деплоймент просто прикрепляют его. соответственно, если были внесены какие-то изменения — то нужно не забыть сделать mvn clean install, перед тем, как нажимать на запуск) лично меня такое поведение геморит, поэтому я использую артефакт с распакованым war-ом, который и отправляется на томкат. из плюсов: меньше текста в pom.xml, а так же возможность более быстрых внесений изменений при работающем сервере.

но если ты работаешь именно через тот вариант, что в статье (билдим мавеном, потом заливаем собраный war-ник на томкат) — то я знаю, что мавен оооочень привередливо относится к структуре проэкта. потому что когда он билдит — он ищет определенные вещи в определенных местах. и если он их там не находит — отказывается работать дальше, ну или собирает, но получается какое-то убожество) так что со структурой проекта в мавене надо быть осторожным)) но если у тебя сервер запускается — могу предположить, что что-то таки да билдится)

Добавление Tomcat в IDEA

Tomcat в IDEA Ultimate

Шаг второй. Затем выбираем локальный Tomcat.

Tomcat в IDEA Ultimate 2

Шаг третий. Конфигурируем Tomcat. Нажав на strong>configure добавляем путь к папке Tomcat

Tomcat в IDEA Ultimate 3

Тут ты можешь указать:

  • HTTP port — порт, на котором будет работать Tomcat
  • JRE — можно выбрать JRE, на которой будет работать Tomcat
  • VM options — параметры виртуальной машины для Tomcat
  • URL — эту ссылку будет открывать IDEA после запуска сервера с ее помощью

Java-университет

Шаг четвертый. Добавляем наш проект как артефакт к Tomcat.

Для этого переходим на вкладку Deployment и нажимаем справа кнопку +.

Tomcat в IDEA Ultimate 4

5.2 Создаем первое веб-приложение

Если у тебя еще нет никакого веб-приложения, то можно создать его в IDEA двумя способами. Проект на основе Maven и просто родной JavaEE-проект.

Если ты хочешь создать родной web-проект от IDEA, то следуй этой простой инструкции:

Шаг 1. Создаем новый проект ( menu File -> New Project ), затем выбираем:

Tomcat в IDEA Ultimate 5

  • Тип проекта — Java Enterprise
  • Шаблон (template) приложения — Web Application
  • Application Server — текущий сконфигурированный Tomcat Server. Если он еще не добавлен, то справа есть кнопка New .
  • JDK — твою текущую Java JDK

Шаг 2. Дальше IDEA попросит указать различные зависимости, ничего не добавляй.

Tomcat в IDEA Ultimate 6

Шаг 3. Если Tomcat был настроен правильно, то ты увидишь свое приложение:

Tomcat в IDEA Ultimate 7

Шаг 4. Твой проект готов, можешь запускать его кнопкой Run или Debug.

5.3 Создаем первое веб-приложение на основе Maven

Если ты хочешь создать web-приложение на основе проекта Maven, то инструкция будет еще проще.

Шаг 1. Создаем новый проект ( menu File -> New Project ), затем выбираем:

веб-приложение на основе Maven

  • Тип проекта — Maven Archetype
  • JDK — задаем JDK проекта
  • Archetype (шаблон проекта) — задаем maven-archetype-webapp

Шаг 2. Получим проект типа такого:

веб-приложение на основе Maven 1

Проект сгенерирован, но Tomcat еще не настроен. Чтобы иметь возможность запускать или дебажить проект, тебе нужно настроить Tomcat и добавить свой проект в него как артефакт. Как именно это делать, мы уже рассматривали раньше.

Шаг 3. Если Tomcat настроен правильно, то твоя страница настроек должна выглядеть примерно так:

 веб-приложение на основе Maven 3

Шаг 4. Твой проект готов, можешь запускать его кнопкой Run или Debug.

Комментарии (16)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Max Dudin Уровень 108 Expert
1 июля 2023

А тепкрь «когда светлейший волк позволит» хочу немного, так сказать. На стажировке часто возникает такой момент, когда начинают объяснять «вот это вот всё» на проектах сделанных «до того как», которые jar (не war). Потом начинается «агония», перевести из jar в war не успеваешь (Они, как правило, говорят медленно, но печатают намного быстрей. и хорошо, что есть запись). Всё в итоге работает некорректно и в браузере «404» вместо «Hello World!» как у ментора (И главное, не понятно, «толи ты дурак, толи одно из двух»). Так вот, что тут бы хотелось бы. Если у вас до этого был не webApp Progect а какой-никбудь обычный jar. то нужно — там где org.example «название вашего проекта»/artifactId> 1.0-SNAPSHOT добавить war далее, в plugins добавить maven-deploy-plugin 2.8.2 (понятно, что версия может быть другой/зависит в том числе от версии вашего jdk) далее за Reload’ить в Maven далее Maven ->Plugins->war-> war:war (создаст war файл в target) далее Maven ->Plugins->war->war:inpalce (создаст war артифакт для деплоя в tomcat) После этого всего Maven ->Plugins->install:insanall будет ругаться на отсутствие web.xml в папке WEB.INF (а она должна была появиться в tаrget если всё до этого получилось )

Max Dudin Уровень 108 Expert
1 июля 2023
Вот то что тут .. написано работает +/-, а с тем, что на лекциях «стажировки» как-то «всё сложно»
Эльдар Уровень 108 Expert
1 июля 2023

Шаг четвертый. Добавляем наш проект как артефакт к Tomcat. А если не вылезает артефакт, только экстернал сорс вылезает?

Benjam1nBTN Уровень 24
3 мая 2023
Если у Вас IDEA Community — то качайте в IDEA плагин Smart Tomcat, в настройке он очень похож
Sergey Drogunov Уровень 111 Expert
7 августа 2022

В Edit Configuration может не быть TomCat для этого необходимо выключен plugins: Tomcat and TomEE

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 добавить еще одну зависимость:

 jstl jstl 1.2 

Открываем проект, справа в меню 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 говорит о том что проект удачно развернулся на сервере.

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *