IntelliJ и Tomcat .. Как ...?

114

Используя Netbeans, я разрабатываю сайты с Tomcat в качестве локального сервера для управления им. В Netbeans это было «Установить, написать, запустить, и все заработает». Как мне сделать то же самое в IntelliJ?

Я не могу найти для этого пошаговых инструкций.

Мантар
источник
Какую версию IntelliJ вы используете?
Ромен Линсолас,
Я использую IntelliJ 9.0.3
Mantar
См. «Справка» IntelliJ Ultimate edition: Конфигурация запуска / отладки: Tomcat Server
Бэзил Бурк,
К вашему сведению, вы можете запустить Jetty из IntelliJ, а затем развернуть его на Tomcat. В качестве предварительно настроенного примера попробуйте стартовое веб-приложение Vaadin, выбрав вариант «Обычный Java-сервлет». В качестве проекта, управляемого Maven, вы можете просто распаковать загруженный файл, а затем заставить IntelliJ открыть папку как проект. На Mavenпанели IntelliJ разверните Pluginsэлемент, чтобы отобразить Jettyэлемент, в котором вы его найдете jetty:run. Возможно, вы сможете изучить файл POM, чтобы узнать, как настроить такой движок Jetty в своем собственном проекте.
Basil

Ответы:

105

ПРИМЕЧАНИЕ. Community Edition не поддерживает JEE.

Во-первых, вам нужно будет установить локальный сервер Tomcat. Похоже, вы уже это сделали.

Затем на панели инструментов в верхней части IntelliJ щелкните стрелку вниз слева от значков « Выполнить» и « Отладка» . Будет возможность редактировать конфигурации . В появившемся всплывающем окне щелкните значок « Добавить» , затем выберите « Tomcat и локальный» .

В этом диалоговом окне вам нужно будет нажать кнопку « Настроить ...» рядом с сервером приложений, чтобы сообщить IntelliJ, где установлен Tomcat.

Стивен Бенитес
источник
1
Привет, Стивен. Я следовал этим указаниям, но не знаю, как правильно настроить фасеты и артефакты. Я не нашел способа создать войну, которая не приведет к ошибке 404, потому что index.gsp не обрабатывается grails. Не могли бы вы добавить несколько инструкций относительно фасетов и артефактов или посоветовать в stackoverflow.com/questions/20053061/… - спасибо.
HAL 9000
2
не может видеть сервер приложений в Bulid, Execution and Deployment.
Панкадж Нимгаде,
1
ну дерьмо. Я потратил 2,5 дня на просмотр руководств на YouTube, пытаясь понять, как, черт возьми, заставить intellij распознавать, что у меня есть javaEE, чтобы я мог сделать чертов сервлет. тьфу. хороший ответ.
Ungeheuer
1
Когда я указываю конфигурацию на «базовый» каталог Tomcat вне папки Tomcat, я получаю сообщение об ошибке с жалобой на отсутствие confпапки. Создаю один, потом выдает ошибку нет server.xmlфайла. В NetBeans все эти материалы для baseкаталога автоматически создавались в пустой папке, которую я создал.
Basil
1
Примечание. В конфигурации сборки на вкладке «Развертывание» внизу есть информация с именем Application Context. Это каталог, который использует локальный tomcat, поэтому, если он говорит asdf, что ваш сервлет находится в localhost:8080/asdf- это может отличаться от производственного, что меня смутило
lucidbrot
45

Вот пошаговая инструкция по настройке Tomcat в IntellijIdea:

1) Создайте проект IntellijIdea через шаблон WebApplication. Идея должна быть Ultimate-версией, а не Community Edition.

введите описание изображения здесь

2) Перейдите в Run-Edit configutaion и настройте папку расположения Tomcat, чтобы Idea узнала о вашем сервере Tomcat. введите описание изображения здесь

3) Перейдите на вкладку «Развертывание» и выберите «Артефакт». Подать заявление введите описание изображения здесь

4) В папку src поместите сервлет (вы можете попробовать мой пример для тестирования) введите описание изображения здесь

5) Перейдите в файл web.xml и свяжите свой сервлет следующим образом

введите описание изображения здесь

6) В веб-папку поместите свои файлы .jsp (например, hey.jsp)

введите описание изображения здесь

7) Теперь вы можете запустить приложение через IntellijIdea. Запустите (Shift + F10) и наслаждайтесь своим приложением в браузере:

- в файлы jsp: http: // localhost: 8080 / hey.jsp (или index.jsp по умолчанию)

- к сервлетам через виртуальную ссылку, которую вы установили в web.xml: http: // localhost: 8080 / st

Аконический
источник
В вашем шаге 3 у меня нет элемента «Артефакт», только элемент «Внешний источник». Вы знаете, что не так?
Nicolas S.Xu
К сожалению, нет
Aconic 06
@ NicolasS.Xu У меня была такая же проблема, когда я только что делал обычный проект. Если вы создаете проект с использованием шаблона WebApplication (как на шаге 1), он должен появиться.
user1339253
Это можно сделать с помощью Community Edition, ссылки: shortn0tes.com/2017/01/tutorial-intellij-idea-community.html и benkiew.wordpress.com/2017/06/04/… , но по цене, если вы серьезно относитесь к разработке веб-приложений, Ultimate дает вам гораздо больше преимуществ, в том числе для Jersey / ReST, JSP, JSF и т. д. Зачем использовать ножовку, чтобы разрезать лист, если за небольшие деньги вы можете получить прекрасную пилу?
Расс Бейтман
39

Какую версию IntelliJ вы используете? Обратите внимание, что с прошлого года IntelliJ существует в двух версиях:

  • Ultimate Edition , которая представляет собой полную IDE
  • Community Edition , которая бесплатна, но не поддерживает разработки JavaEE.

(см. различия здесь )

Если вы используете Community Edition , вы не сможете управлять установкой Tomcat.

Если вы используете Ultimate Edition , вы можете взглянуть на:

Ромен Линсолас
источник
Я посмотрел на него (используя Ultimate btw), и он говорит, что перейдите в Структура проекта -> Модули -> Добавить новый аспект. Что дает мне один вариант, Flex ...: /
Mantar
Это могло быть связано с тем, что проект был «Неизвестным модулем», что бы это ни значило. Я полагаю. Но даже в этом случае, если я сделаю новый проект, я найду там больше вариантов, но не TOmcat ..
Mantar
@Meke Вы смотрели здесь: jetbrains.com/idea/features/application_server.html ?
Ромен Линсолас,
Я видел, что да, но это ничего не говорит мне о том, как это сделать на самом деле, и здесь возникает путаница. Придется ли мне сам загружать tomcat, чего я не делал с Netbeans, или IntelliJ справится с этим сам?
Mantar
В общем, тогда вы понятия не имеете.
Mantar
17

Вы также можете отлаживать tomcat, используя версию сообщества (в отличие от того, что сказано выше).

Запустите tomcat в режиме отладки, например так:. \ Catalina.bat jpda run

В intellij : Выполнить> Изменить конфигурации> +

Выберите «Удаленный». Назовите соединение: «somename» Установите «Порт:» 8000 (по умолчанию 5005)

Выберите "Выполнить"> "Отладка" somename ".

MartinM
источник
Превосходно. Вы также можете настроить внешний инструмент для запуска Tomcat из IntelliJ IDE. В Settings :: Tools :: External Tools установите поле программы как путь к вашему catalina.bat, установите в поле параметров значение jpda run. Сохрани это. Инструмент будет доступен в меню Инструменты :: Внешние инструменты. Обратите внимание на использование порта 8000 разъема Tomcat, о котором говорилось выше. Если вы измените этот порт в Tomcat server.xml, то также измените его в определении удаленного подключения intelliJ.
J Slick
13

Убедитесь, что необходимые плагины включены в Настройки | Плагины , скорее всего, вы отключили некоторые из них, поэтому вы не видите все параметры фасетов.

Пошаговое руководство см. В разделе: Создание простого веб-приложения и его развертывание в Tomcat .

CrazyCoder
источник
На сайте слияния IntelliJ IDEA этот учебник, к сожалению, исчез. В комментариях присутствует только ссылка на учебник русского языка.
Jan Croonen
5

Проблема, с которой я столкнулся, была связана с тем, что я неосознанно редактировал значения по умолчанию, а не новый экземпляр Tomcat. Щелкните значок плюса в верхней левой части окна «Выполнить» и выберите Tomcat | Местный оттуда.

черт
источник
1

В Netbeans вы можете щелкнуть проект правой кнопкой мыши и запустить его, но в IntelliJ IDEA вы должны выбрать файл index.jsp или файл приветствия для запуска проекта.

это потому, что Netbeans генерирует следующий тег в web.xml, а IntelliJ - нет.

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
Аммар Бозоргвар
источник