Java 在intellij idea中设置tomcat的问题

Java 在intellij idea中设置tomcat的问题,java,tomcat,intellij-idea,Java,Tomcat,Intellij Idea,我正在尝试使用intellij idea创建一个简单的测试restful web服务。我将遵循本教程: 但是,我在运行它时遇到了一些问题。每次运行完后,我转到localhost:8080/,它都会显示错误404和消息 The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. 。在intellij中,有

我正在尝试使用intellij idea创建一个简单的测试restful web服务。我将遵循本教程:

但是,我在运行它时遇到了一些问题。每次运行完后,我转到
localhost:8080/
,它都会显示
错误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[]]
在beggining,它显示了以下内容:

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_home
catalina_home
分别设置为jdk文件夹和tomcat文件夹,从我看到的情况来看,版本是正确的。我对这个问题完全不知所措,在4个多小时内找不到任何解决方案

有什么问题吗

我是否在tomcat或intellij中遗漏了一些配置步骤?我正在tomcat文件夹中读取running.txt文件,并按照步骤进行配置,但没有成功

非常感谢

更新:我试着做其他事情,所以这里值得指出。我尝试通过ApacheTomcat网站下载的.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"
我的环境变量的图像:

更新2:这是我的运行配置的打印件,按要求:

  • 首先介绍一下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分解的工件-检查“工件”下的项目设置

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


完成此操作后,您可以运行您的项目,但应该没有问题。

我尝试过,但没有成功。有关更多信息,请参阅我的更新。我添加了JRE_HOME,但在intellij中,它不断显示我他在使用jdk,即使cmd上的echo JRE_HOME会打印我的JRE路径。另一件值得一提的是,您的应用程序可以部署到以下位置:本地主机:8080/应用程序名称“因此,请尝试在Intellij中更改您的运行配置,在Intellij中发布您的运行配置,此外,我相信您可以在运行配置或项目设置中更改您的JRE路径。我在编辑配置中更改了JRE路径,使用:JRE_HOME的文本在我的计算机中更改为JRE路径。但是同样的错误。我将再次更新我的跑步配置。你的工件是战争爆炸型的吗?是的,它是战争爆炸型的。我把它改成了“工作”。这最后一步使localhost:8080正常工作!但是现在,我尝试的每个url都会给我一个错误:“源服务器没有找到目标资源的当前表示形式,或者不愿意透露该表示形式的存在。”。你知道是什么吗?你能解释一下如何知道完整的url吗?我的项目名为restest,我的web.xml有“/*”作为url模式,我的资源类有@Path(“/hello”)