簡體   English   中英

Tomcat in Intellij Idea Community Edition

[英]Tomcat in Intellij Idea Community Edition

是否可以在 Intellij Idea 社區版中使用 Tomcat 服務器運行 web 應用程序?

我試圖找到有關它的一些信息,但沒有取得任何成功。

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 等運行應用程序服務器。

我個人安裝了 Jetty Runner 插件(Jetty 對我來說很好,我不需要 Tomcat)並且我對這個解決方案很滿意。 不過,我不得不處理IntelliJ 想法 - Jetty,報告異常

如果你使用 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>

使用 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運行它

更多進球在這里

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 >> Run/Debug 菜單以 Run/Debug 模式調用 Tomcat

注意:雖然這被認為是使用 IntelliJ 的 Tomcat 集成功能 - 企業版功能的黑客攻擊,但我認為這是一種將 tomcat 集成到 IntelliJ Idea - 社區版的編程方式。

是的,您可以使用 maven 插件或簡單的 java 程序。 不需要IDE插件。 參見例如來自https://devcenter.heroku.com/articles/create-a-java-web-application-using-embedded-tomcat 的Main 類

Tomcat 還可以與 IntelliJ Idea - Community Edition 與 Tomcat Runner Plugin 集成。

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

是的,這是可能的,而且相當容易。

  1. 在運行按鈕附近,從下拉菜單中選擇“編輯配置...”
  2. 在左側,單擊加號,然后單擊 maven 並在右側將其重命名為“Tomcat”。
  3. 對於命令行,輸入“spring-boot:run”
  4. 在 runner 選項卡下,對於“VM Options”,輸入“-XX:MaxPermSize=256m -Xms128m -Xmx512m -Djava.awt.headless=true” 注意:“使用項目設置”應該取消勾選。
  5. 對於環境變量,輸入“env=dev”
  6. 最后,單擊確定。

當您准備好按運行時,如果您轉到“localhost:8080/< page_name >”,您將看到您的頁面。

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

maven 插件和嵌入式 Tomcat 是可用的解決方法(我更喜歡第二個,因為您可以調試)但實際的 Web 服務器集成是一項僅在 intelij 付費版本中可用的功能。

問題已經回答了,但是我在這里寫的只是我的觀察,所以社區中的其他人可以節省一些時間。 我嘗試使用 Intellij 社區版中的嵌入式 tom-cat 運行 spring-mvc 項目。

我做的第一次嘗試是使用 Gradle tom-cat 插件,但是我遇到的問題是 tomcat 服務器只啟動一次,然后從第二次啟動開始構建抱怨說容器已經在運行。 網絡上有很多關於這個的開放線程,對於一些人來說是有效的,對於大多數人來說(幾乎 90% 的網絡線程讓我頭疼,面臨着容器第二次無法啟動的相同問題。決議不存在。

在浪費了很多時間之后,我最終決定切換到 maven tom-cat 插件,並使用 maven 進行與使用 gradle 和 VOILA 相同的 spring-mvc 設置! 它在第一部短片中奏效。

長話短說,如果您在 intellij 社區版中設置 spring-mvc 項目,請考慮 maven tomcat 插件。

希望這有助於某人在各種網絡論壇上的探索時間。

您可以在 gradle 中使用 tomcat 插件。 如需更多信息,請點擊此處

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

我用了林傑的回答 強烈推薦它。

如果您以前從未使用過 Maven並且不想深入了解它:按照 Jay Lin 的回答,但也可以這樣做:

  1. 右鍵單擊您的項目名稱 -> 添加框架支持 -> Maven。

  2. 然后從這里安裝 maven http://maven.apache.org/install.html 按照它說的做,運行命令。

  3. 然后從這里安裝 spring-boot https://mvnrepository.com

  4. 然后按照錯誤消息(如果有的話) - 也許你需要安裝一些其他的東西(只需谷歌一下,mvnrepository.com 就會出現)。 要安裝使用此命令:

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

用您下載jar文件的位置替換path ,用來自 mvnrepository.com 的信息替換版本、組和工件 ID。

  1. 我遇到的其他錯誤:

我必須在 src/main/java 中創建一個類(在 main 中使用簡單的System.out.println命令)並在pom.xml <properties>標簽中添加<start-class>main.java.Hello</start-class> pom.xml 順便說一句,當您執行我的回答中的第一個操作時, pom.xml應該會自己出現 - 將 Jay Lin 的代碼復制粘貼到那里。

我得到的另一個錯誤是連接到JAVA_HOME變量和版本的東西。 為什么它認為 jdk 是第 7 個版本,而我告訴它是第 8 個版本。 所以我把<properties>的 java version 標簽改成了這個<java.version>1.7</java.version>

現在它工作正常! 大家好運。

如果你使用 Gradle,你可以試試我的腳本: https : //github.com/Adrninistrator/IDEA-IC-Tomcat 。這個腳本將為 web 應用程序構建文件,創建一個 Tomcat 實例,啟動 Tomcat 並加載 web 應用程序。

我認為 maven 沒有正確安裝。 檢查mvn --v

或者

請檢查 env 變量中的 maven home path 或者您在安裝 maven 之前已經創建了這個項目

在 IntelliJ IDEA 社區版中使用Tomcat 9無需安裝任何插件

注意:確保設置了環境變量JAVA_HOMECATALINA_HOME 如果JAVA_HOMECATALINA_HOME 的值最近被重置,則在繼續之前重新啟動 IntelliJ IDEA。

  1. 首先在 IntelliJ IDEA 中打開項目,然后單擊File > Settings... > Tools > External Tools ,然后單擊+按鈕。
  2. 然后我們必須為Tomcat指定Name ,然后在Program中我們必須指定Tomcat安裝文件夾中bin文件夾中catalina.bat文件的路徑,然后在Arguments中我們必須編寫jpda run然后單擊“確定” ,然后單擊“應用”
  3. 之后,我們可以通過單擊Tools > External Tools > name_you_provided_for_tomcat來運行Tomcat

然后我們要把我們要在Tomcat上托管的應用程序的必要文件放在Tomcat安裝文件夾中的webapps文件夾中。

我正在使用 intellij CE 創建 WAR,並使用 tomcat 部署管理器在外部部署戰爭。 這適用於測試應用程序,但我仍然找不到調試它的方法。

  1. 打開 cmd 和當前目錄到 tomcat/bin。
  2. 您可以使用批處理文件 start.bat 和 shutdown.bat 啟動和停止服務器。
  3. 現在使用 intellij 中的 mvn 目標構建您的應用程序。
  4. 打開 localhost:8080/ **您的端口號可能會有所不同。
  5. 使用此 tomcat 應用程序部署應用程序,如果出現身份驗證錯誤,則需要在 conf/tomcat-users.xml 下設置憑據。

對於 Intellij 14.0.0,應用程序服務器選項在查看 > 工具窗口 > 應用程序服務器下可用(但如果啟用,我的意思是如果您安裝了任何插件)

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM