Tomcat在Intellij Idea社区版中

时间:2014-02-26 16:48:31

标签: java apache tomcat intellij-idea

是否可以在Intellij Idea社区版中使用Tomcat服务器运行Web应用程序?

我试图找到一些有关它的信息,但没有取得任何成功。

17 个答案:

答案 0 :(得分:25)

Intellij社区不提供Java应用程序服务器集成。你的替代品是

  1. 购买Intellij许可证,
  2. 切换到Eclipse;)
  3. 安装 Smart Tomcat 插件https://plugins.jetbrains.com/plugin/9492
  4. 安装 IDEA Jetty Runner 插件https://plugins.jetbrains.com/plugin/7505
  5. 从Maven,Gradle运行应用程序服务器,等等,如其他答案中所述。
  6. 我个人安装了Jetty Runner插件(Jetty对我很好,我不需要Tomcat),我对这个解决方案很满意。不过,我不得不处理IntelliJ idea - Jetty, report an exception

答案 1 :(得分:23)

如果你正在使用maven,你可以使用这个命令mvn tomcat:run,但首先你将pom.xml这个结构添加到build标签中,就像这样:

<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>

答案 2 :(得分:9)

使用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

运行它

更多目标here

答案 3 :(得分:5)

是的,您可以使用maven插件或简单的java程序。不需要IDE插件。 例如,参见https://devcenter.heroku.com/articles/create-a-java-web-application-using-embedded-tomcat

中的主类

答案 4 :(得分:4)

Tomcat还可以与IntelliJ Idea集成 - 社区版与Tomcat Runner插件。

详情如下: https://plugins.jetbrains.com/plugin/8266-tomcat-runner-plugin-for-intellij

答案 5 :(得分:3)

是的,它可能而且相当容易。

  1. 在运行按钮附近,从下拉列表中选择&#34;编辑配置...&#34;
  2. 在左侧,点击加号,然后再对其进行重命名&#34; Tomcat&#34;在右侧。
  3. 对于命令行,输入&#34; spring-boot:run&#34;
  4. 在“转轮”标签下,对于“VM选项”,输入&#34; -XX:MaxPermSize = 256m -Xms128m -Xmx512m -Djava.awt.headless =真&#34;注意:&#39;使用项目设置&#39;应该是未被攻击的。
  5. 对于环境变量,请输入&#34; env = dev&#34;
  6. 最后,点击确定。
  7. 当你准备按下跑步时,如果你去&#34; localhost:8080 /&lt; page_name&gt; &#34;你会看到你的页面。

    我的pom.xml文件与官方spring教程相同 Serving Web Content with 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>
    

答案 6 :(得分:2)

maven插件和嵌入式Tomcat是可用的解决方法(我更喜欢第二,因为你可以调试)但实际的Web服务器集成只是在intelij付费版本中可用的功能。

答案 7 :(得分:2)

Tomcat(Headless)可与IntelliJ Idea - 社区版集成。

分步说明如下:

  1. tomcatX-maven-plugin添加到pom.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. 直接从IntelliJ Run&gt;&gt;调用运行/调试模式下的Tomcat运行/调试菜单

  4. 注意:虽然这被认为是使用IntelliJ的企业版功能的Tomcat集成功能,但我认为这是一种将tomcat集成到IntelliJ Idea - 社区版的编程方式。< / p>

答案 8 :(得分:0)

我认为Maven安装不正确。检查 mvn --v

请检查env变量中的Maven主页路径 或者您已经在安装maven之前创建了这个项目

答案 9 :(得分:0)

这个问题已经回答了,但是我在这里写的只是我的观察,这样社区中的其他同伴可以节省一些时间。 我尝试使用Intellij communit版中的嵌入式tom-cat运行spring-mvc项目。

我第一次尝试使用Gradle tom-cat插件,但是我所面对的问题是tomcat服务器仅启动一次,从第二次启动之后,构建抱怨说容器已经在运行。 Web上有很多关于此的开放线程,对于某些线程来说,它对大多数人来说都是可行的(几乎90%的Web线程让我伤脑筋,也面临着容器第二次无法启动的问题。分辨率不存在。

在浪费了很多时间之后,我最终决定切换到maven tom-cat插件,并使用gradle和VOILA对maven进行相同的spring-mvc设置!它在最初的短时间内就起作用了。

长话短说,如果您要在intellij社区版中设置spring-mvc项目,请考虑使用maven tomcat插件。

希望这可以帮助人们花费大量时间在各种网络论坛上进行探索。

答案 10 :(得分:0)

找到了这个很好的网站 https://stefancosma.xyz/2018/10/01/how-to-use-tomcat-intellij-idea-community/ 全部归功于作者

答案 11 :(得分:0)

如果使用Gradle,则可以尝试使用我的脚本:https://github.com/Adrninistrator/IDEA-IC-Tomcat。该脚本将为Web应用程序生成文件,创建Tomcat实例,启动Tomcat并加载Web应用程序。

答案 12 :(得分:0)

我使用了Jay Lin的answer。强烈推荐它。

如果之前从未使用过Maven 不希望深入其中:请按照Jay Lin的回答,同时执行以下操作:

  1. 右键点击您的项目名称 - &gt;添加框架支持 - &gt;行家。

  2. 然后从这里安装maven http://maven.apache.org/install.html。做它说的,运行命令。

  3. 然后从https://mvnrepository.com安装spring-boot。

  4. 然后按照错误消息,如果有的话 - 也许你需要安装一些其他的东西(只是谷歌它和mvnrepository.com会出现)。要安装,请使用此命令:

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

  5. path替换为您下载jar文件的位置,将版本,组和工件ID替换为mvnrepository.com中的信息。

    1. 我遇到的其他错误:
    2. 我必须在src / main / java中创建一个类(在main中使用简单的System.out.println命令)并在<start-class>main.java.Hello</start-class>中的<properties>标记中添加pom.xml。顺便说一句,当你从我的答案中做出第一个动作时pom.xml应该出现 - 复制粘贴Jay Lin的代码。

      我收到的另一个错误与JAVA_HOME变量和verion东西有关。为什么它认为jdk是第7版,我告诉它是第8版。所以我将<properties>中的java版本标记更改为此<java.version>1.7</java.version>

      现在它运作正常!祝大家好运。

答案 13 :(得分:0)

我正在使用intellij CE来创建WAR,并使用tomcat部署管理器在外部部署war。这适用于测试应用程序,但我仍然无法找到调试它的方法。

  1. 打开cmd,将当前dir打开到tomcat / bin。
  2. 您可以使用批处理文件start.bat和shutdown.bat启动和停止服务器。
  3. 现在使用intellij中的mvn目标构建您的应用程序。
  4. 打开localhost:8080 / **您的端口号可能不同。
  5. 使用此tomcat应用程序部署应用程序,如果出现身份验证错误,则需要在conf / tomcat-users.xml下设置凭据。

答案 14 :(得分:0)

您可以在gradle中使用tomcat插件。有关详细信息,请here

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'] }
}

答案 15 :(得分:-1)

VM :-Djava.endorsed.dirs="C:/Program Files/Apache Software Foundation/Tomcat 8.0/common/endorsed" 
    -Dcatalina.base="C:/Program Files/Apache Software Foundation/Tomcat 8.0"  
    -Dcatalina.home="C:/Program Files/Apache Software Foundation/Tomcat 8.0" 
    -Djava.io.tmpdir="C:/Program Files/Apache Software Foundation/Tomcat 8.0/temp" 
    -Xmx1024M

答案 16 :(得分:-1)

对于Intellij 14.0.0,可以使用应用程序服务器选项 查看&gt;工具窗口&gt; Application Server(但如果启用,我的意思是如果您安装了任何插件)