使用 intellij 和 payara 调试两个单独的 java 服务器应用程序

debug two separate java server app with intellij and payara

我想用 intellij IDEA 和 payara 调试两个单独的 java 服务器应用程序。第一个项目 运行 正确,但是当我 运行 第二个项目没有任何反应。

错误:

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

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

Glassfish Server 运行作为独立模式下的单个 JVM 进程。因此,同一时间只能连接一个远程调试器。

这就是为什么只能在单个 IDEA 项目中对一个 JVM 进程进行调试。请务必注意,IDEA 将源代码的调试范围限制为使用 run/debug 配置部署的模块。

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

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

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

settings.gradle:

includeBuild('..\otherGradleProjectFolder')