【问题标题】:Problems setting up tomcat in intellij idea在 intellij idea 中设置 tomcat 的问题
【发布时间】:2019-06-07 21:11:49
【问题描述】:

我正在尝试使用 intellij idea 创建一个简单的测试 restful 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。起初,当我尝试运行它时,它给了我 localhost 已在使用中的错误,但我关闭了 tomcat 并再次尝试并成功了。至少,部分。它给了我与以前相同的错误,并且只运行 localhost:8080 给了我消息“源服务器没有找到目标资源的当前表示或不愿意透露存在的表示。”再次。我尝试按照 yan 的回答将我的 jre_home 变量更改为 C:\Program Files\Java\jre1.8.0_191,但它继续显示 Using 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:根据要求,这是我运行配置的打印:

【问题讨论】:

    标签: java tomcat intellij-idea


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:
      • 首先介绍一下 Tomee 的工作原理:Getting started with tomee
      • 确保 tomcat 正在端口 8080 中运行,而不是其他任何东西,查看 tomcat 配置文件以找出它应该在哪里运行。
      • 确保您的防火墙没有阻止它,尽管如果它的端口 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 exploded 工件 - 检查“工件”下的项目设置。

      【讨论】:

      • 我试过但没有成功。有关更多信息,请参阅我的更新。我添加了 JRE_HOME,但在 intellij 中它一直显示他正在使用 jdk,即使在 cmd 上的 echo jre_home 它会打印我的 jre 路径。
      • 另一件值得一提的是,你的应用可以部署到类似:“localhost:8080/app_name”的地方,所以尝试在 Intellij 中更改你的运行配置,在 Intellij 中发布你的运行配置,而且我相信你可以在运行配置或项目设置中更改您的 JRE 路径。
      • 我在编辑配置中更改了JRE路径,Using: JRE_HOME的文本更改为我电脑中的jre路径。但。同样的错误。我将再次更新我的运行配置。
      • 你的神器是war爆炸类型的吗?
      • 是的,它是战争爆炸。我改变了它并“工作”。最后一步使 localhost:8080 工作!但是现在,我尝试的每个 url 都会给我一个错误“源服务器没有找到目标资源的当前表示或不愿意透露存在的表示。”。你知道它是什么吗?而且,你能向我解释一下如何知道完整的网址吗?我的项目叫做 RestTest,我的 web.xml 有“/*”作为 url-pattern,我的资源类有 @Path("/hello")
      猜你喜欢
      • 1970-01-01
      • 2012-04-07
      • 1970-01-01
      • 1970-01-01
      • 2019-05-03
      • 1970-01-01
      • 2014-05-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多