【问题标题】:debug two separate java server app with intellij and payara使用 intellij 和 payara 调试两个独立的 Java 服务器应用程序
【发布时间】:2018-01-08 17:31:12
【问题描述】:

我想用 intellij IDEA 和 payara 调试两个独立的 Java 服务器应用程序。第一个项目运行正常,但是当我运行第二个项目时,什么也没有发生。

错误:

Error running 'glassfish': Unable to open debugger port (127.0.0.1:9009): java.net.SocketException "socket closed

有没有办法在不使用具有不同端口的两个 payara 实例的情况下做到这一点?

【问题讨论】:

  • 您是尝试运行来自不同项目的两个应用程序,还是在单次运行/调试配置中运行它们?
  • @Gregory.K 我已经尝试了来自不同项目的两个应用程序
  • 您有两种不同的服务器配置吗? IDEA 正在尝试启动第二个 Payara Server 实例,你知道为什么吗?您是否将两个项目配置为在同一个实例上运行?

标签: java intellij-idea payara


【解决方案1】:

Glassfish 服务器在独立模式下作为单个 JVM 进程运行。因此,只能同时附加一个远程调试器。

这就是为什么只能从单个 IDEA 的项目中对一个 JVM 进程进行调试的原因。需要注意的是,IDEA 将源代码的调试范围限制为使用运行/调试配置部署的模块。

此外,如果您尝试同时调试来自不同项目的多个应用程序,您也应该在具有不同端口的不同 Glassfish 实例上运行它们。

【讨论】:

    【解决方案2】:

    为第二个应用程序创建一个单独的调试配置并手动启动它。

    【讨论】:

      【解决方案3】:

      使用 Gradle 可以在 settings.gradle 中使用 includeBuild 命令,然后可以在 IntelliJ IDEA 的同一个窗口中调试不同的项目:

      settings.gradle:

      includeBuild('..\otherGradleProjectFolder')
      

      【讨论】:

        猜你喜欢
        • 2020-02-21
        • 1970-01-01
        • 2013-03-13
        • 2015-05-27
        • 1970-01-01
        • 2015-01-29
        • 2023-03-24
        • 1970-01-01
        • 2016-04-23
        相关资源
        最近更新 更多