Intellij idea 无法在IntelliJ IDEA中打开调试器端口
我有一个问题,我不能用IntelliJ IDE在调试模式下设置我的应用程序,但运行模式可以 我的操作系统是Windows7,IDE是IntellijIDEA,web容器是Tomcat6。我尝试了很长一段时间,更改了HTTP端口和JMX端口,但没有成功 当我使用IntelliJ在调试模式下设置应用程序时,它失败,事件日志为: 16:05:35运行tomcat时出错:无法打开调试器端口: java.net.BindException“地址已在使用:JVM\u Bind”Intellij idea 无法在IntelliJ IDEA中打开调试器端口,intellij-idea,debug-mode,Intellij Idea,Debug Mode,我有一个问题,我不能用IntelliJ IDE在调试模式下设置我的应用程序,但运行模式可以 我的操作系统是Windows7,IDE是IntellijIDEA,web容器是Tomcat6。我尝试了很长一段时间,更改了HTTP端口和JMX端口,但没有成功 当我使用IntelliJ在调试模式下设置应用程序时,它失败,事件日志为: 16:05:35运行tomcat时出错:无法打开调试器端口: java.net.BindException“地址已在使用:JVM\u Bind” 偶尔,当我重新启动电脑时,一
偶尔,当我重新启动电脑时,一切正常。可能是港口冲突 重启计算机工作,因为Java或Tomcat的实例在重启过程中被杀死。您也可以考虑从任务管理器中杀死特定的进程。
如果context.xml文件中存在问题,也会发生这种情况。在我的例子中,我意外地更改了上下文值 问题的关键在于调试器端口。我也遇到了同样的问题,我杀死了在端口8081(我的http端口)、1099(JMX端口)、tomcat关机端口、每个java.exe上侦听的所有进程,但仍然一无所获 问题是这个调试器端口不同。如果您运行应用程序,它将通过您为Tomcat配置的端口、8080、8081或其他任何端口。但如果您在调试模式下运行它,它将通过另一个端口
如果从IntelliJ编辑Tomcat配置,最后一个选项卡是启动/连接。在这里查看调试模式的配置,您将看到它的端口。我的是50473。我把它改为50472,一切又开始工作了。我在Windows7和Intellijidea14中也遇到了同样的问题。 我通过按CTRL+ALT+ESc,找到java并杀死它来杀死java进程。 现在重新运行应用程序,它应该会很好。。
您也可以使用命令行或shell(linux)来实现这一点,但我发现这对我自己来说比较容易我也有同样的问题,因为我的计算机的DNS缺少127.0.0.1 localhost。
当我将127.0.0.1 localhost添加到我的主机文件时,它变为ok 调试时我遇到了这个问题:它与
这对我来说一直有效(这经常发生在我身上,例如,当我运行集成测试时重新启动tomcat) 1) 查找端口1099打开的进程
sudo netstat -anp | grep tcp | grep 1099
cp6 0 0 :::1099 :::* LISTEN 9857/java
2) 杀了它
3) 启动Tomcat。对于我来说,IntelliJ
事件日志(右下角)有以下日志:
Error running EntitmentTooling-Debug: Cannot run program "/path-to/apache-tomcat-8.5.15/bin/catalina.sh" (in directory "path-to/apache-tomcat-8.5.15/bin"): error=13, Permission denied
Error running EntitmentTooling-Debug: Unable to open debugger port (127.0.0.1:58804): java.net.SocketException "Socket closed"
命令
$ chmod a+x /path-to/apache-tomcat-8.5.15/bin/catalina.sh
要充分更改特权对我有效。请尝试chmod a+x/path/to/tomcat/bin/catalina.sh,如果您在intelliJ中运行它,则有多种原因。
-调试器端口可能有问题--请将其更改为解决(由回答)
-intellij缓存可能存在一些问题--使缓存无效并重新启动将解决此问题(回答为)
-任何其他端口都可能有问题,如JMX、AJP——请同时更改这些端口号。
我想将此添加为注释,但没有足够的rep以上方法在我的情况下都不起作用,即在运行配置中更改端口号、重新启动机器、在IntelliJ中使缓存无效、终止netstat中显示的进程(nestat-anob | findstr
然后tskill
)。唯一有帮助的是通过startup.bat
和shutdown.bat
手动启动和关闭tomcat(您应该在linux和macOS上使用相应的.sh
文件)。我通过这种方式解决了这个问题
我试图杀死所有的java.exe进程,但没有用
然后我尝试删除Tomcat服务器
我重新部署了项目并重新启动了项目,它成功了
有关更多信息,请参见以下链接:
删除Tomcat
添加一个新的Tomcat
在我的例子中,Tomcat/conf文件夹的server.xml中有一个问题,我在另一个注释标记下有额外的注释标记。所以我认为,由于server.xml中存在一些问题,它无法启动Tomcat。此外,它还将tomcat文件夹从您的安装目录复制到C:\Users\username.IntelliJIdea2017.2\system\tomcat\tomcat\u service我收到了这条确切的消息
原因是某些IDE(我使用Eclipse和Intellij)未能关闭tomcat服务器。或者在它这么做之前就崩溃了
解决方案是导航到C:\…\apache tomcat xxx\bin
并运行shutdown
对我来说唯一有效的方法是转到Windows上的任务管理器,通过右键单击->结束任务来结束所有正在运行的Java进程。对于同一个任务,有多种解决方案
我们可以关闭IDE(例如IntellJ)
找到t
IND00123:bin devbratanand$lsof-i:30303
命令PID用户FD类型设备大小/关闭节点名称
idea 437 devbratanand 56u IPv4 0xb2720e580a7d6483 0t0 TCP 10.17.130.41:55222->vmqp-cms-pan-app1.emea.akqa.local:30303(已建立)
IND00123:bin devbratanand$kill-9437
如果您使用的是windows,则可以通过切换到共享内存调试来完全绕过套接字问题
当应用程序在同一端口号上运行时,会发生这种情况。一种方法是强制终止进程。以管理员身份打开命令提示符。运行命令'taskkill/IM“java.exe”/F'。这在Windows中对我有效。让我知道这是否有效
检查“运行”配置以查看它使用的端口(8081
)李>
找到所有其他使用该函数的进程
$ chmod a+x /path-to/apache-tomcat-8.5.15/bin/catalina.sh
netstat -aon | find "1099"
taskkill /F /PID $processId
unable to open debugger port (127.0.0.1:debug-port-number) java.net.socketexception interrupted function call accept failed
11:19 PM Error running 'Tomcat-tp': Address localhost:1098 is already in use
11:19 PM Error running 'Tomcat-tp': Unable to open debugger port (127.0.0.1:51787): java.net.SocketException "Interrupted function call: accept failed"
Unable to open debugger port (127.0.0.1:50470):
java.net.SocketException "Interrupted function call: accept failed"
Cannot load C:\...\conf\web.xml: ParseError at [row,col]:[480,29]
Message: The element type "param-value" must be terminated by the matching end-tag "</param-value>".