IntelliJ,无法启动简单的Web应用程序:无法在localhost:1099上ping服务器


70

我正在按照以下教程尝试在IntelliJ中制作一个简单的Web应用程序:http : //wiki.jetbrains.net/intellij/Creating_a_simple_Web_application_for_Tomcat_in_IntelliJ_IDEA_12

我相信我的Tomcat已正确安装,因为当我转到时会看到tomcat图片 http://localhost:8080/

我一直按照所有步骤进行操作,直到它告诉我run的那一部分为止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来自运行->编辑配置中的JMX端口。

我该如何解决?


这些答案都不对我有用。您找到确切的解决方案了吗?
克鲁纳尔

Answers:


72

要解决此问题,您需要在/ 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应该可以启动服务器了。


16
只需提及-在我的情况下,实际上是JVM参数中的一个错字导致了这一点
LIA

注意:打开/ etc / hosts文件时使用sudo,因为它是只读文件
Alex Wilson

尝试从STS“运行方式”->“ Spring Boot应用程序”运行Spring Boot应用程序时,我遇到了同样的错误。将我的Mac的主机名添加到hosts文件中后,它指向localhost。谢谢邦德!
E3G

2
如果您要给出特定于操作系统的答案,请首先提及。
菲利普·雷戈

17

确认您使用的tomcat与Java版本兼容。对我来说,问题是Tomcat-9需要Java-8。如果您有Java的旧版本,则可以使用Tomcat-7进行测试。


1
这是我的问题。我从JDK 1.7更改为JDK 1.8。在运行/调试配置->编辑工件中。更改了SDK版本和Project SDK
Shardayyy

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机器上是不正确的;)


1
这需要更高。我在IntelliJ中看到了相同的问题,不确定该值来自何处。
德里克

无需在“ Intellij”中设置Catalina_home
Philip Rego,

4

仅供参考在某些网络条件下,您的主机名可能会更改或不正确。如果您使用的是Mac,则可以使用以下命令永久设置主机名:

sudo scutil --set HostName correct-name

1
这不能解决问题。对我来说,sudo scutil --get HostName返回正确的主机名,但是IntelliJ仍然有OP询问的问题。/etc/hosts按照@bond的建议将主机名添加到,可以解决此问题。
ehsanullahjan

这解决了我的问题!我的主机名包含一个点。我将其设置得尽可能简单。按照上面的说明在主机文件中进行设置,即可正常运行。
Bancarel Valentin


3

我的问题是tomcat 8和更高版本与Java 6不兼容。更改为Java 7可以解决该问题。


3
通常,Tomcat X可能与Java Y不兼容。请在此处检查版本兼容性。
Beyamor '16

3

当我在这里进入很大的港口时,我遇到了类似的问题: 在此处输入图片说明

但是,当我将其校正为更小的偏移范围时: 在此处输入图片说明

问题已解决。


是的,端口号是16位整数,因此只有0-65535可用(并且0保留,1-1023只能由root / admin用户使用)。
Per Lundberg

3

我有同样的问题。在“编辑配置..”->“ Tomcat服务器”中,我将JRE从“默认”更改为具有SDK目录地址的当前版本(例如C:\ Program Files \ Java \ jdk1.8.0_121 \ jre)

我的Tomcat版本是8.5.31


1
Tomcat 8.5令人毛骨悚然,切换到9.0
Erdinc Ay

3

对于那些在您最近更新IntelliJ时遇到此问题的人(在我的情况下为2019.2)。

我使用的是JBoss服务器,因此我尝试在命令行中运行standalone.bat,并且在控制台上看到了真正的问题。

它可能与您的有所不同,但就我而言,我看到了:

failure description: "WFLYSRV0137: No deployment content with

并且针对该错误,我能够通过删除<deployments/>standalone.xml中节点内的项(战争或耳朵)来解决此问题

希望这对使用JBoss + IntelliJ的人有所帮助


2

当我配置了(错误的)3 Gb内存而没有内存时,出现此错误。IntelliJ确实在输出帧中显示了实际的错误消息(无法为对象堆保留足够的空间)。我很困惑,并且被事件日志中的消息所吸引,在这种情况下将被忽略。


2

我在使用intellij 15.0时遇到了这个问题,然后更新到15.02版。之后,我编辑配置并将Default JRE重置为我自己的JRE。


1

我解决了添加环境变量JAVA_HOME(C:\ Program Files \ Java \ jdkx.x.x_xx)和JRE_HOME的问题。


1

上面的答案对我都不起作用。最后,我发现这是一个配置错误(我使用android SDK而不是Java SDK进行编译)。

转到[右键单击项目]->打开模块设置->模块-> [Dependendecies],并确保已配置并选择Java SDK(不是android java sdk)


1

我添加了以下虚拟机选项,它对我有用:

-Dcom.sun.management.jmxremote= 
-Dcom.sun.management.jmxremote.port=1099 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false

1

我在使用intellij 2016版本时遇到了“无法在本地主机上ping服务器的相同问题”:1099。

但是,一旦我将其升级到使用“ ideaIU-2017.1.exe”安装的2017版(Ultimate 2017.1),问题就消失了。


1

运行时,我有这个问题Tomcat 6.0.53Mac OS SierraIntellij IDEA部署Spring项目。从官方站点将Tomcat版本更改为“ tar.gz”后,此问题已解决。看来“ zip”是用于Windows的。



0

首先将我的主机名指向主机中的主机名127.0.0.1(只需hostname在cmd中运行即可)并执行David GC提到的操作,对我来说,当我进入tomcat配置并更改调试启动脚本时,错误已清除且调试起作用从startup.bat(这只是我的闲逛)回到catalina.bat start默认值。


0

我遇到了同样的问题,我的错误是,我试图使用不兼容的JDK版本启动tomcat服务器并安装了Apache tomcat服务器。就我而言,我已将JDK 7与Apache tomcat 9一起安装。对于Apache 9,JDK应该> = 8。

为了兼容性,请检查此https://tomcat.apache.org/whichversion.html


0

对我来说,这是一个完全不同的解决方案,因为它运行在virtualbox上,因此我必须编辑hosts文件并将virtualbox添加为本地主机

127.0.0.1 VirtualBox-blahblah

0

在Windows环境中,如果Oracle JRE运行时刷新了路径并将自己置于路径的最开始,只需检查PATH环境变量。在这种情况下,即使JAVA_HOME和JRE_HOME指向正确的JDK,JRE也将具有优先级。在这种情况下,IntelliJ将不会使用上述错误消息启动Tomcat实例。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.