我正在尝试按照本教程在IntelliJ中创建一个简单的Web应用程序: http://wiki.jetbrains.net/intellij/Creating_a_simple_Web_application_for_Tomcat_in_IntelliJ_IDEA_12
我相信我的Tomcat安装正确,因为我去的时候看到了tomcat图片
http://localhost:8080/
我已经按照所有步骤进行操作,直到它告诉我运行index.jsp
的部分,此时我收到错误:
Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: nodename nor servname provided, or not known
我在日志中看到了这一点:
Application Server was not connected before run configuration stop, reason:
Unable to ping server at localhost:1099
这个1099来自Run中的JMX端口 - >编辑配置。
我该如何解决这个问题?
答案 0 :(得分:70)
要解决此问题,您需要在/ etc / hosts文件中添加您的计算机名称以指向localhost(127.0.0.1)。
您可以通过运行以下命令找到您的机器名称:
$ hostname
macbook-pro
从上面的输出中你知道你的主机名是“macbook-pro”。 编辑“/ etc / hosts”文件,并在列出127.0.0.1
的行末添加该名称127.0.0.1 localhost macbook-pro
保存文件。
现在你IntelliJ应该能够启动你的服务器了。
答案 1 :(得分:14)
看到您使用的tomcat与Java版本兼容。对我来说问题是Tomcat-9需要Java-8。如果您使用的是旧版本的Java,则可以使用Tomcat-7进行测试。
答案 2 :(得分:6)
我将我的主机名添加到localhost上的/ etc / hosts。 添加了JAVA_HOME 但它仍显示相同的错误。在控制台中,有输出:
Unable to start as CATALINA_BASE contains a colon (:) character
我通过转到编辑配置解决了问题 - >启动/连接 - >将CATALINA_BASE值更改为tomcat安装文件夹。在那之前,它是
CATALINA_BASE: C:\Program Files\Apache Software Foundation\Tomcat 8.0
在linux机器上无法正确;)
答案 3 :(得分:4)
仅供参考在某些网络条件下,您的主机名可能会更改或不正确。如果您使用的是Mac,则以下内容可让您永久性地设置主机名:
sudo scutil --set HostName correct-name
答案 4 :(得分:3)
这似乎与mac处理读取/ etc / hosts文件的方式有关。请参阅示例http://youtrack.jetbrains.com/issue/IDEA-96865
不应要求将主机名添加到hosts文件中,因为它确实可以解决问题。
答案 5 :(得分:2)
对于那些在您最近更新IntelliJ时遇到此问题的人(在我的情况下为2019.2)。
我正在使用JBoss服务器,因此我尝试在命令行中运行standalone.bat,并且在控制台上看到了真正的问题。
它可能与您的不同,但是在我看来,我看到了:
failure description: "WFLYSRV0137: No deployment content with
在发生该错误时,我能够通过删除standalone.xml中<deployments/>
节点内的物品(战争或耳朵)来解决此问题
希望这对使用JBoss + IntelliJ的用户有所帮助
答案 6 :(得分:2)
当我使用intellij 15.0时,我遇到了这个问题,然后我更新到15.02版本。之后,我编辑配置并将Default JRE重置为我自己的JRE。这对我很有用;
答案 7 :(得分:2)
我的问题是tomcat 8及更高版本与java 6不兼容。更改为java 7解决了它。
答案 8 :(得分:1)
上述答案都不适合我。最后我发现这是一个配置错误(我使用了android SDK而不是Java SDK进行编译)。
得到 [右键单击项目] - &gt;打开模块设置 - &gt;模块 - &gt; [Dependendecies]并确保您已配置并选择了Java SDK(而不是android java sdk)
答案 9 :(得分:1)
当我配置(错误)3 Gb内存时没有出现此错误。 IntelliJ确实在输出框架中显示了真实的错误消息(无法为对象堆保留足够的空间)。 我很困惑,并被事件日志中的消息所吸引,在这种情况下将被忽略。
答案 10 :(得分:1)
我解决了这个问题,添加了环境变量JAVA_HOME(C:\ Program Files \ Java \ jdkx.x.x_xx)和JRE_HOME。
答案 11 :(得分:1)
答案 12 :(得分:0)
我要为 jboss 用户留下答案。
如果遇到此错误的任何人正在使用 jboss,请确保 JBOSS_HOME 位置正确。
答案 13 :(得分:0)
如果您使用的是 java 7,请确保您有 Tomcat 7
brew install tomcat@7
并将运行配置更新到 Tomcat 7
Tomcat 9 正在与 Java 8 配合使用
答案 14 :(得分:0)
在Windows环境中,如果Oracle JRE运行时刷新了路径并将自己置于路径的最开始,则只需检查PATH环境变量即可。在这种情况下,即使JAVA_HOME和JRE_HOME指向正确的JDK,JRE也将具有优先级。在这种情况下,IntelliJ不会使用上述错误消息启动Tomcat实例。
答案 15 :(得分:0)
对我来说,这是一个完全不同的解决方案,因为它运行在virtualbox上,因此我必须编辑hosts文件并将virtualbox添加为本地主机
district = HttpUtility.UrlEncode(district, Encoding.GetEncoding("iso-8859-9"));
答案 16 :(得分:0)
如果您的 tomcat 包含文件 setenv.sh ([YOUR_CATALINA_HOME]/bin/setenv.sh),它可能会重新定义 JIdea 用于设置 JMX 的 JAVA_OPTS 变量,因此您必须将它们添加到那里:
export JAVA_OPTS ="$JAVA_OPTS <whatever was in setenv.sh>"
echo $JAVA_OPTS
答案 17 :(得分:0)
在IntelliJ中设置项目的SDK(文件>项目结构> Project:Project SDK)对我有用
答案 18 :(得分:0)
我有同样的问题。在“编辑配置..” - &gt; “Tomcat Server”我将JRE从“Default”更改为我当前版本的SDK目录地址(如C:\ Program Files \ Java \ jdk1.8.0_121 \ jre)
我的Tomcat版本是8.5.31
答案 19 :(得分:0)
我有同样的问题而且我的错误是,我试图用不兼容的JDK版本启动tomcat服务器并安装Apache tomcat服务器。在我的例子中,我使用Apache tomcat 9安装了JDK 7.对于Apache 9,JDK应该是&gt; = 8。
要获得兼容性,请检查此https://tomcat.apache.org/whichversion.html
答案 20 :(得分:0)
我在Tomcat 6.0.53
上使用Mac OS Sierra
运行Intellij IDEA
以部署Spring
项目时出现此问题。
在将官方网站上的Tomcat版本更改为'tar.gz'之后,此问题得以解决。似乎'zip'一个用于windows。
答案 21 :(得分:0)
当我使用intellij 2016版本时,我遇到了“无法在localhost:1099 ping服务器”的问题。
但是,只要我将其升级到使用“ideaIU-2017.1.exe”安装的2017版本(Ultimate 2017.1),问题就会消失。
答案 22 :(得分:0)
我添加了以下VM选项,它对我有用:
node_modules
答案 23 :(得分:0)
顶部将我的主机名指向主机中的127.0.0.1(只需在cmd中运行hostname
以获取它)以及执行David GC提到的内容,对我来说,当我进入tomcat配置并将调试启动脚本从startup.bat
(这只是我的周围记忆)更改回catalina.bat start
默认值。