Tomcat в Intellij Idea Community Edition

возможно ли запустить веб-приложение с помощью сервера Tomcat в Intellij Idea Community Edition?

Я попытался найти некоторую информацию об этом, но не добился успеха.

12 ответов


Если вы используете maven, вы можете использовать эту команду mvn tomcat:run, но сначала вы добавляете свой pom.xml эта структура в тег сборки, так же, как это:

<build>
    <finalName>mvn-webapp-test</finalName>
      <plugins>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>${maven.compiler.plugin.version}</version>
              <configuration>
                  <source>1.6</source>
                  <target>1.6</target>
              </configuration>
          </plugin>
      </plugins>
  </build>

сообщество Intellij не предлагает интеграцию с сервером приложений Java. Ваши варианты

  1. покупка лицензии Intellij,
  2. переход на Eclipse;)
  3. установка Умный Котяра плагин https://plugins.jetbrains.com/plugin/9492
  4. установка идея Jetty Runner плагин https://plugins.jetbrains.com/plugin/7505
  5. запуск сервера приложений от Maven, Gradle, что угодно, как описано в других ответах.

Я лично установил плагин Jetty Runner (Jetty отлично подходит для меня, мне не нужен Tomcat), и я доволен этим решением. Мне пришлось иметь дело с IntelliJ idea-Jetty, сообщить об исключении, хотя.


используя Maven, попробуйте tomcat7-maven-plugin:

  <build>
          <plugins>
              <plugin>
                  <groupId>org.apache.tomcat.maven</groupId>
                  <artifactId>tomcat7-maven-plugin</artifactId>
                  <version>2.2</version>
                  <configuration>
                      <path>/</path>
                      <contextFile>src/main/webapp/WEB-INF/config/app-config.xml</contextFile>
                      <mode>context</mode>
                      <charset>UTF-8</charset>
                      <warDirectory>target/${project.artifactId}-${project.version}</warDirectory>
                  </configuration>
              </plugin>
          </plugins>
  </build>

запустите его с помощью tomcat7:run-war


Да, вы можете использовать плагин maven или простую программу java. Нет необходимости в плагине IDE. См., например, Main class from https://devcenter.heroku.com/articles/create-a-java-web-application-using-embedded-tomcat


Да, это возможно и довольно легко.

  1. рядом с кнопкой " выполнить "в раскрывающемся списке выберите "Редактировать конфигурации"..."
  2. слева нажмите плюс, затем maven и переименуйте его "Tomcat" с правой стороны.
  3. в командной строке введите "spring-boot: run"
  4. на вкладке runner для "параметры VM" введите " - XX: MaxPermSize=256m-Xms128m -Xmx512m - Джава.ОУ.headless=true "Примечание:" использовать настройки проекта " должно быть без накладки.
  5. для переменных среды введите "env=dev"
  6. наконец, нажмите Ok.

когда вы будете готовы нажать run, если вы перейдете в " localhost: 8080/", вы увидите свою страницу.

мой пом.xml-файл такой же, как официальный весенний учебник обслуживание веб-контента с Spring MVC

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.springframework</groupId>
    <artifactId>gs-serving-web-content</artifactId>
    <version>0.1.0</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.2.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>

    <properties>
        <java.version>1.8</java.version>
    </properties>


    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

плагин maven и встроенный Tomcat являются полезными обходными путями (мне нравится второй, потому что вы можете отлаживать), но фактическая интеграция с веб-сервером доступна только в платных выпусках intelij.


Tomcat (безголовый) может быть интегрирован с IntelliJ Idea - Community edition.

пошаговые инструкции, как показано ниже:

  1. добавить tomcatX-maven-plugin В пом.в XML

    <build>
        <plugins>
            <plugin>
                 <groupId>org.apache.tomcat.maven</groupId>
                 <artifactId>tomcat7-maven-plugin</artifactId>
                 <version>2.2</version>
                 <configuration>
                     <path>SampleProject</path>
                 </configuration>
            </plugin>
        </plugins>
    </build>
    
  2. добавить новую конфигурацию запуска, как показано ниже:

    Run >> Edit Configurations >> + >> Maven
    
    Parameters tab ...
    Name :: Tomcat
    Working Directory :: Project Root Directory
    Command Line :: tomcat7:run
    
    Runner tab ...
    VM Options :: <user needed options>
    JRE :: <project needed>
    
  3. вызов Tomcat в режиме запуска/отладки непосредственно из IntelliJ Run >> Run / Debug menu

Примечание: хотя это считается взлом использования функций интеграции Tomcat с функциями версии IntelliJ - Enterprise, но я бы счел это программным способом интеграции tomcat в IntelliJ Idea - community edition.


Tomcat также может быть интегрирован с IntelliJ Idea-Community Edition с плагином Tomcat Runner.

детали ниже: https://plugins.jetbrains.com/plugin/8266-tomcat-runner-plugin-for-intellij


вы можете использовать плагин tomcat с gradle. Для получения дополнительной информации, вы здесь.

apply plugin: 'tomcat'

dependencies {
    classpath 'org.gradle.api.plugins:gradle-tomcat-plugin:1.2.4'
}

[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'

[tomcatRun, tomcatRunWar, tomcatStop]*.stopPort = 8090
[tomcatRun, tomcatRunWar, tomcatStop]*.stopKey = 'stfu'
tomcatRunWar.contextPath = "/$rootProject.name"
tomcatRunWar.ajpPort = 8000

if (checkBeforeRun.toBoolean()) {
    tomcatRunWar { dependsOn += ['check'] }
}

Я использую intellij CE для создания войны и развертывания войны извне с помощью Tomcat deployment manager. Это работает для тестирования приложения, однако я все еще не мог найти способ, чтобы отладить его.

  1. откройте cmd и текущий dir в tomcat/bin.
  2. вы можете запускать и останавливать сервер, используя запуск пакетных файлов.летучая мышь и выключение.летучая мышь.
  3. Теперь создайте приложение, используя цель mvn в intellij.
  4. открыть localhost: 8080 / * * ваш номер порта может отличаться.
  5. используйте это приложение tomcat для развертывания приложения, Если вы получите ошибку аутентификации, вам нужно будет установить учетные данные в conf/tomcat-users.XML.

Я ответ. Очень рекомендую.

если вы никогда не использовал Maven раньше и не хочу чтобы углубиться в это: следуйте ответу Джея Лина, но также сделайте это:

  1. щелкните правой кнопкой мыши на имени проекта - > добавить поддержку фреймворка - > Maven.

  2. затем установите maven отсюда http://maven.apache.org/install.html. Делай, что он говорит, Беги. команды.

  3. затем установите spring-boot отсюда https://mvnrepository.com.

  4. затем следуйте сообщениям об ошибках, если они есть - возможно, вам нужно будет установить некоторые другие вещи (просто google и это mvnrepository.com подошел бы). Для установки используйте следующую команду:

    mvn install:install-file -DgroupId= -DartifactId= -Dversion= -Dpackaging=jar -Dfile=path

заменить path С, где вы загрузили jar файл, заменить версию, идентификатор группы и артефакта с информацией из mvnrepository.com - ...

  1. дальнейшие ошибки, с которыми я столкнулся:

мне пришлось создать класс в src / main / java (с помощью simple System.out.println команда в main) и добавить <start-class>main.java.Hello</start-class> на <properties> tag in pom.xml. Кстати,pom.xml должен появиться сам, когда вы делаете первое действие из моего ответа-скопируйте туда код вставки Джей Лина.

еще одна ошибка, которую я получил, была связана с JAVA_HOME переменная и материал verion. Так получилось, что он думал, что jdk-это 7-я версия, и я говорил, что это 8-й. Поэтому я изменил тег версии java в <properties> этой <java.version>1.7</java.version>.

теперь он работает нормально! Всем удачи.


для Intellij 14.0.0 опция сервера приложений доступна в разделе View > Tools window > Application Server (но если он включен, я имею в виду, если у вас установлен какой-либо плагин)