【发布时间】:2014-03-29 15:54:54
【问题描述】:
是否可以在 Intellij Idea Community Edition 中使用 Tomcat 服务器运行 Web 应用程序?
我试图找到有关它的一些信息,但没有取得任何成功。
【问题讨论】:
标签: java apache tomcat intellij-idea
是否可以在 Intellij Idea Community Edition 中使用 Tomcat 服务器运行 Web 应用程序?
我试图找到有关它的一些信息,但没有取得任何成功。
【问题讨论】:
标签: java apache tomcat intellij-idea
在 IntelliJ IDEA Community Edition 中使用 Tomcat 9,无需安装任何插件
注意:确保设置了环境变量 JAVA_HOME 和 CATALINA_HOME。如果最近重置了 JAVA_HOME 或 CATALINA_HOME 的值,请重新启动 IntelliJ IDEA,然后再继续。
File>Settings...>Tools>External Tools,然后点击+按钮。jpda run 然后点击 Ok 然后点击 Apply 。Tools > External Tools > name_you_provided_for_tomcat 来运行Tomcat。然后我们必须将我们想要托管的应用程序的必要文件放在 Tomcat 的 webapps 文件夹中 Tomcat所在的文件夹中> 已安装。
【讨论】:
我认为 maven 没有正确安装。检查 mvn --v
或
请检查环境变量中的 Maven 主路径 或者你在安装maven之前已经创建了这个项目
【讨论】:
这个问题已经回答了,但是我在这里写的只是我的观察,以便社区中的其他人可以节省一些时间。 我尝试使用 Intellij 社区版中的嵌入式 tom-cat 运行 spring-mvc 项目。
我所做的第一次尝试是使用 Gradle tom-cat 插件,但是我遇到的问题是 tomcat 服务器只启动一次,然后从第二次启动构建抱怨说容器已经在运行。 网上有很多关于这个的开放线程,对于一些人来说它有效,对于大多数人来说(几乎 90% 的我打破了我的头的 web 线程,都面临着容器第二次无法启动的相同问题。分辨率不存在。
在浪费了很多时间之后,我最终决定切换到 maven tom-cat 插件,并使用 maven 进行与 gradle 和 VOILA 相同的 spring-mvc 设置!它在第一个短片中起作用。
长话短说,如果您在 intellij 社区版中设置 spring-mvc 项目,请考虑使用 maven tomcat 插件。
希望这有助于某人在各种网络论坛上进行数小时的探索。
【讨论】:
【讨论】:
如果你使用 Gradle,你可以试试我的脚本:https://github.com/Adrninistrator/IDEA-IC-Tomcat。这个脚本将为 web 应用程序构建文件,创建一个 Tomcat 实例,启动 Tomcat 并加载 web 应用程序。
【讨论】:
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
【讨论】:
Intellij 社区不提供 Java 应用服务器集成。你的选择是
我亲自安装了 Jetty Runner 插件(Jetty 对我来说很好,我不需要 Tomcat),我对这个解决方案很满意。不过,我不得不处理IntelliJ idea - Jetty, report an exception。
【讨论】:
我用的是林杰的answer。强烈推荐。
如果您以前从未使用过 Maven 并且不想深入了解它:请遵循 Jay Lin 的回答,但也要这样做:
右键单击您的项目名称 -> 添加框架支持 -> Maven。
然后从这里http://maven.apache.org/install.html安装maven。照它说的做,运行命令。
然后从这里https://mvnrepository.com安装spring-boot。
如果有任何错误消息,请按照错误消息进行操作 - 也许您需要安装一些其他东西(只需 google 一下,mvnrepository.com 就会出现)。安装使用这个命令:
mvn install:install-file -DgroupId= -DartifactId= -Dversion= -Dpackaging=jar -Dfile=path
将path 替换为您下载jar 文件的位置,将版本、组和工件ID 替换为来自mvnrepository.com 的信息。
我必须在 src/main/java 中创建一个类(在 main 中使用简单的System.out.println 命令)并在pom.xml 中的<properties> 标记中添加<start-class>main.java.Hello</start-class>。顺便说一句,当您从我的回答中执行第一个操作时,pom.xml 应该会出现 - 将 Jay Lin 的代码复制粘贴到那里。
我遇到的另一个错误与JAVA_HOME 变量和版本有关。为什么它认为 jdk 是第 7 个版本,而我说它是第 8 个版本。所以我把<properties>中的java版本标签改成了<java.version>1.7</java.version>。
现在它工作正常!祝大家好运。
【讨论】:
是的,这是可能的,而且相当容易。
当您准备好按运行时,如果您转到“localhost:8080/”,您将看到您的页面。
我的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>
【讨论】:
Tomcat 还可以与 IntelliJ Idea - 带有 Tomcat Runner 插件的社区版集成。
详情如下: https://plugins.jetbrains.com/plugin/8266-tomcat-runner-plugin-for-intellij
【讨论】:
Tomcat (Headless) 可以与 IntelliJ Idea - 社区版集成。
分步说明如下:
在 pom.xml 中添加tomcatX-maven-plugin
<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>
添加新的运行配置如下:
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>
直接从 IntelliJ 运行 >> 运行/调试菜单以运行/调试模式调用 Tomcat
注意:虽然这被认为是使用 IntelliJ 的 Tomcat 集成功能 - 企业版功能的黑客行为,但我认为这是一种将 tomcat 集成到 IntelliJ Idea - 社区版的编程方式。
【讨论】:
我正在使用 intellij CE 创建 WAR,并使用 tomcat 部署管理器在外部部署战争。这适用于测试应用程序,但我仍然找不到调试它的方法。
【讨论】:
你可以使用带有 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'] }
}
【讨论】:
使用 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
【讨论】:
web.xml,它说:[警告]警告:选定的war文件包含将被忽略的WEB-INF/web.xml(war任务中缺少webxml属性,或者ignoreWebxml属性被指定为'真')。
maven 插件和嵌入式 Tomcat 是可用的变通方法(我更喜欢第二个,因为您可以调试),但实际的 Web 服务器集成是仅在 intelij 付费版本中提供的功能。
【讨论】:
对于 Intellij 14.0.0,应用程序服务器选项位于 查看 > 工具窗口 > 应用程序服务器(但如果启用,我的意思是如果您安装了任何插件)
【讨论】:
如果你使用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>
【讨论】:
是的,你可以使用 maven 插件,或者简单的 java 程序。不需要IDE插件。 参见例如来自https://devcenter.heroku.com/articles/create-a-java-web-application-using-embedded-tomcat的主类
【讨论】: