Eclipse显示我在调试模式下打开任何程序时无法连接到VM错误。 这是异常堆栈
java.net.SocketException: socket closed
at java.net.PlainSocketImpl.socketAccept(Native Method) //I dont know which socket is closed in my PC
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at org.eclipse.jdi.internal.connect.SocketTransportService.accept(SocketTransportService.java:95)
at org.eclipse.jdi.internal.connect.SocketTransportImpl.accept(SocketTransportImpl.java:56)
at org.eclipse.jdi.internal.connect.SocketListeningConnectorImpl.accept(SocketListeningConnectorImpl.java:135)
at org.eclipse.jdt.internal.launching.StandardVMDebugger$ConnectRunnable.run(StandardVMDebugger.java:107)
at java.lang.Thread.run(Thread.java:619)
即使我的Localhost工作正常,我ping 127.0.01和localhost都工作正常,即使我重新启动我的电脑甚至得到相同的错误。不知道我的PC中关闭了哪个套接字。请帮助我..我正在使用eclipse 8.x
答案 0 :(得分:14)
这是因为您机器中的localhost设置。在/ etc文件夹
中的hosts文件中检查你的ip对localhost答案 1 :(得分:2)
将以下内容添加到eclipse.ini
文件会解决此问题:
-vm
C:\Program Files\Java\jdk1.7.0_71\jre\bin\javaw.exe (path of javaw.exe )
确保javaw.exe
的路径应写在-vm
的下一行。
这是我的eclipse.ini
文件:
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20140116-2212
-product
org.eclipse.epp.package.standard.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vm
C:\Program Files\Java\jdk1.7.0_71\jre\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m
答案 2 :(得分:1)
将127.0.0.1 localhost
添加到/ etc / hosts,在我的mac上解决了同样的问题!
答案 3 :(得分:1)
解决方案之一是 创建项目后, “单击下一步”,enter image description here“未完成”
取消选中该框 “创建module-info.java文件”
答案 4 :(得分:0)
我使用Springsource的eclipse版本遇到了这个问题。我的问题是我的调试配置被定义为使用Javascript调试器,我试图调试Java程序。
解决方案:转到“调试为” - > “调试配置”,以及该窗口中的某个位置(在我的案例中最后是SpringSource 3.1)将Eclipse JDT Launcher设置为调试器选项。
答案 5 :(得分:0)
答案 6 :(得分:0)
如果您是MAC用户,请执行以下步骤
sudo -su root
vi /etc/hosts
---> now insert following line and save the file opened in vi editor
127.0.0.1 localhost
答案 7 :(得分:0)
答案 8 :(得分:0)
右键单击您的项目名称,然后选择“构建路径”->“配置构建路径”。单击库选项卡,然后检查您的库(尤其是Tomcat库)是否在“ Modulepath”下,而不在“ Classpath”下。就我而言,我的项目需要Tomcat库。当我将Tomcat库放在“类路径”下时,它不起作用。当我将库移动到“ Modulepath”时,它可以工作。1
答案 9 :(得分:0)
在Windows 10计算机上,我的情况是为该项目选择了错误的JRE,从而导致该错误。
最初仅列出了安装在用户主目录中的默认JRE(在Eclipse-Window-> Preferences-> Java-> JRE中)。 I have added two other JREs.
接下来,我进入项目,选择要调试的软件包,转到“调试配置”,然后选择一个新添加的JRE (in my case Java15).
随后调试开始正常工作。
答案 10 :(得分:0)
删除我的 module-info.java
文件解决了我的问题。
答案 11 :(得分:-1)
您需要在启用调试端口的情况下启动服务器,并使用相同的端口将调试器与服务器连接。
对于“Tomcat”服务器,您可以添加以下内容以在调试模式下启动它,调试端口为8453
。
-Xdebug -Xrunjdwp:transport=dt_socket,address=8453,server=y,suspend=n