【问题标题】:Eclipse : Failed to connect to remote VM. Connection refused. [duplicate]Eclipse:无法连接到远程 VM。拒绝连接。 [复制]
【发布时间】:2012-03-26 02:48:15
【问题描述】:

当我尝试启动我的 Eclipse 调试(用于服务器端代码)时,我收到以下错误 无法连接到远程 VM。连接被拒绝。

可能是什么问题?我已经尝试过网络上的大多数解决方案,但都没有解决我的问题。任何人都可以帮助我解决这个问题吗?提前谢谢..

【问题讨论】:

  • 您应该添加用于启动服务器虚拟机的命令行——尤其是调试参数。此外,有关客户端和服务器端使用的操作系统的详细信息也会很好。
  • 您实际上是在连接到远程服务器吗?如果是这样,可能存在防火墙问题等。如果您在自己的机器上运行服务器代码,那么我一无所知。我同意@Robert,更多信息会很有用。

标签: java eclipse connection remote-debugging


【解决方案1】:

我遇到了同样的问题。但是我通过将端口号更改为不同的端口号来解决它。

【讨论】:

    【解决方案2】:

    当您出现无法连接到远程 VM 连接被拒绝错误时,重新启动您的 eclipse

    【讨论】:

    • 或重启你的服务器
    • 是的,我刚刚添加了配置设置,但是直到我重新启动它才起作用。
    • 重启 eclipse 成功!!!
    • 是的,这很令人沮丧,但它确实有效。
    • @AgilePro 如果我们能看到 eclipse 的内部实现来看看发生了什么变化,那就太酷了
    【解决方案3】:

    如果您需要调试在 Tomcat 上运行的应用程序,请确保您的 Tomcat-folder/bin/startup.bat(如果使用 Windows)包含以下行:

    set JPDA_TRANSPORT="dt_socket"
    set JPDA_ADDRESS=8000
    
    call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%
    

    【讨论】:

    • 您可能会考虑标记重复的答案,而不是添加重复的答案。
    【解决方案4】:

    我在调试播放框架版本 2.x 时遇到了这个问题,结果发现即使发出了 play debug run 命令,服务器也没有启动。在向网络服务器发出第一个请求后,导致播放框架真正在端口 9000 启动应用程序后,我能够从 eclipse 正确连接到调试端口 9999。

    [info] play - Application started (Dev)
    

    上面的信息出现时控制台显示上面的文字,说明为什么eclipse在第一次http请求之前无法连接。

    【讨论】:

      【解决方案5】:

      您使用的是哪个服务器?

      如前所述:

      1. 在调试配置中,您必须定义服务器的正确端口 (GF:9009 / Tomcat:8000)
      2. 您必须将服务器的 JVM 属性设置为 debug

      对于 Glassfish:

          Log in to admin-console > Configurations > server-config > JVM-Settings > check DEBUG checkbox > restart server
      

      对于 Tomcat:

      %TOMCAT_HOME%/bin 目录中创建文件debug.bat/.sh(取决于您的操作系统)并写入

          set JPDA_ADDRESS=8000
          set JPDA_TRANSPORT=dt_socket
          catalina.bat jpda start
      

      在里面。

      创建此文件后,通过执行 debug.bat/.sh 启动服务器。

      在调试配置中设置必要的属性后,现在您应该可以在 Eclipse 中进行远程调试了。

      希望这有帮助!玩得开心!

      编辑

      如果您在 Win 环境中将 tomcat 作为服务运行,您没有bin 中有 catalina.bat 文件-你的tomcat安装目录。
      要将您的服务器设置为调试模式,请尝试以下操作:

      1. 在 Windows 菜单中运行配置选项或运行%catalina_home%/bin/tomcat6w.exe
      2. 在 Java 选项卡中,将此行添加到 Java:

      选项:-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

      【讨论】:

      • 感谢您的意见!!在我的 jboss bat 文件中,我有两个地方有服务器 jpda 地址,但我只在一个地方进行了更改。你的意思是再次集中注意力。它已经解决了!!
      • 我在Tomcat7的bin文件夹下创建了debug.bat文件并添加了set JPDA_ADDRESS=8000 set JPDA_TRANSPORT=dt_socket catalina.bat jpda start 如何通过执行debug.bat来启动服务器?当我双击它时,它会立即自动关闭。
      • @GopakumarNG 没错你的 shell 应该在完成后自动关闭,但它应该打开一个显示 tomcat 服务的新 shell。请确保您的 debug.bat 中没有任何拼写错误,尤其是在 catalina.bat jpda start 部分。
      • @SimonSez debug.bat 文件中没有拼写错误。但是Tomcat的bin目录下没有catalina.bat文件,我用的是apache-tomcat-7.0.40。会不会有什么问题?
      • @GopakumarNG 不是 AFAIK。我刚刚使用最新的 tomcat 发行版 for win x64 自己测试了它,没有遇到任何问题。也许您应该尝试重新安装整个服务器或尝试从 tomcat.zip 中提取 catalina.bat 到您的 bin 目录。仅供参考:在您的 debug.bat 中,您引用了此 catalina.bat,因此它是您肯定需要的基本文件。您的服务器根本不应该启动,即使在正常模式下也不应该!干杯
      【解决方案6】:

      正如suat所说,大部分情况下连接被拒绝是由于您设置的端口正在使用中,或者Eclipse中远程应用程序调试配置中的端口号与使用的端口号之间存在差异在地址属性中

      -Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=n.
      

      检查那些东西。谢谢!

      【讨论】:

        【解决方案7】:

        有时您尝试访问的端口会被占用并且不会被释放。 尝试一些工具来查找端口是否在使用中。 我也面临同样的问题。我尝试提供不同的端口号,但不幸的是它不起作用。我尝试重新启动系统(不是应用程序服务器),它工作:)

        【讨论】:

        • 啊,我在 8000 上运行另一个 Web 服务器
        【解决方案8】:
        • Eclipse 配置中的端口号和 您的应用可能不一样。
        • 您可能没有以正确的方式启动您的应用程序 参数。

          当我遇到“连接被拒绝”错误时,这些都是简单的问题。

        【讨论】:

        • 感谢您的回答帮助我在没有启动应用程序的情况下进行调试
        • 我的运行配置错误,所以服务器很快结束,VM没有连接。
        猜你喜欢
        • 1970-01-01
        • 2012-08-26
        • 2014-07-31
        • 2010-11-01
        • 2016-03-27
        • 1970-01-01
        • 2014-03-13
        • 2015-07-19
        相关资源
        最近更新 更多