在IntelliJ Idea中设置tomcat的问题

时间:2019-01-13 18:47:46

标签: java tomcat intellij-idea

我正在尝试使用intellij想法创建一个简单的可测试的宁静Web服务。我正在关注本教程:https://medium.com/@jamsesso/starting-out-with-jersey-apache-tomcat-using-intellij-6338d93ffd40

但是,我在运行它时遇到了一些问题。每次我在运行localhost:8080/后进入error 404并显示消息

The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

。并且,在intellij中,存在大量错误。我将第一个放在这里:

13-Jan-2019 15:34:28.861 GRAVE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: 
 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]

在开始时,它显示以下内容:

F:\Java\apache-tomcat-9.0.13\bin\catalina.bat run
[2019-01-13 03:34:27,290] Artifact RestTeste:war exploded: Waiting for server connection to start artifact deployment...
Using CATALINA_BASE:   "C:\Users\vitor\.IntelliJIdea2018.2\system\tomcat\Tomcat_9_0_13_RestTeste"
Using CATALINA_HOME:   "F:\Java\apache-tomcat-9.0.13"
Using CATALINA_TMPDIR: "F:\Java\apache-tomcat-9.0.13\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.8.0_111"
Using CLASSPATH:       "F:\Java\apache-tomcat-9.0.13\bin\bootstrap.jar;F:\Java\apache-tomcat-9.0.13\bin\tomcat-juli.jar"

我认为tomcat可能没有正确的配置,但我找不到错误的配置。我在intellij和tomcat之间寻找环境变量和Java版本,但是我可以准确地说出是否是问题之一。 Java_homecatalina_home分别设置为jdk文件夹和tomcat文件夹,从我的观察来看,版本是正确的。我对这个问题完全迷失了,在超过4个小时内找不到任何解决方案。

可能是什么问题?

我是否错过了tomcat或intellij中的某些配置步骤?我正在读取tomcat文件夹中的running.txt文件,并按照配置步骤进行操作,但没有成功。

非常感谢!

更新:我尝试做其他事情,因此在这里值得一提。我尝试通过apache tomcat网站下载的.exe进行安装。它工作正常,我启动了它,并在localhost:8080处显示了默认的tomcat页面。然后,我去了intellij,并将这个新版本的tomcat添加到了我的应用程序服务器中,该服务器位于C:\ Program Files \ Apache Software Foundation \ Tomcat 9.0中。当我尝试运行它时,一开始,它给了我一个错误,那就是本地主机已在使用中,但是我关闭了tomcat并再次尝试并成功了。至少部分。它给我的错误与以前相同,并且仅运行localhost:8080会显示消息“源服务器未找到目标资源的当前表示或不愿意透露其存在。”再次。我尝试将我的jre_home变量更改为C:\ Program Files \ Java \ jre1.8.0_191,如yan所建议的那样,但它仍显示使用JRE_HOME:“ C:\ Program Files \ Java \ jdk1.8.0_111”。如果我在cmd中回显%JRE_HOME%,它将打印jre路径,而不是jdk路径。你们能帮我吗? 要添加应用服务器,我只选择了tomcat及其路径。 再次输入初始文本:

Using CATALINA_BASE:   "C:\Users\vitor\.IntelliJIdea2018.2\system\tomcat\Tomcat_9_0_8_RestTest"
Using CATALINA_HOME:   "C:\Program Files\Apache Software Foundation\Tomcat 9.0"
Using CATALINA_TMPDIR: "C:\Program Files\Apache Software Foundation\Tomcat 9.0\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.8.0_111"
Using CLASSPATH:       "C:\Program Files\Apache Software Foundation\Tomcat 9.0\bin\bootstrap.jar;C:\Program Files\Apache Software Foundation\Tomcat 9.0\bin\tomcat-juli.jar"

我的环境变量的图片:enter image description here

更新2 :这是根据要求打印的我正在运行的配置:

enter image description here

2 个答案:

答案 0 :(得分:1)

确保已在“部署”选项卡中添加了工件(请参见下面的屏幕截图)!

Run/Debug Configurations

执行完此操作后,您将运行项目,并且应该没问题。

答案 1 :(得分:0)

  • 首先了解Tomee工作原理的背景:Getting started with tomee
  • 确保tomcat在端口8080中运行,并且没有其他东西,请查看tomcat cofig文件以了解应在何处运行。
  • 请确保您的防火墙没有阻止它,但是如果它的端口是8080,则不应该阻止它。
  • 我注意到在输出中: 使用JRE_HOME:“ C:\ Program Files \ Java \ jdk1.8.0_111-其jdk不是jre。
  • 值得一提的另一件事是,您的应用程序可以部署到类似“ localhost:8080 / app_name”的位置,因此请尝试在Intellij中更改正在运行的配置。 您的应用程序的根URL由web / WEB-INF / web.xml中的以下标记确定:

    “ servlet名称”和“ url模式”

  • 确保您的Intellij构建产生 .war爆炸工件-在“工件”下检查项目设置。