我想使用 intellij IDEA 和 payara 调试两个独立的 java 服务器应用程序。第一个项目运行正确,但是当我运行第二个项目时什么也没有发生。
错误:
Error running 'glassfish': Unable to open debugger port (127.0.0.1:9009): java.net.SocketException "socket closed
有没有办法在不使用两个具有不同端口的 payara 实例的情况下执行此操作?
Glassfish 服务器在独立模式下作为单个 JVM 进程运行。因此,同一时间只能连接一个远程调试器。
这就是为什么只能从单个 IDEA 项目中调试一个 JVM 进程的原因。需要注意的是,IDEA 将源代码的调试范围限制为使用运行/调试配置部署的模块。
此外,如果您尝试同时调试来自不同项目的多个应用程序,则还应该在具有不同端口的不同 Glassfish 实例上运行它们。
为第二个应用程序创建单独的调试配置并手动启动它。
使用 Gradle,您可以在 settings.gradle 中使用 includeBuild 命令,然后您可以在 IntelliJ IDEA 的同一窗口中调试不同的项目:
设置.gradle:
includeBuild('..\otherGradleProjectFolder')
郑重声明,这在 2024 年仍然不适用于 IntelliJ。然而它在 Netbeans 中有效(并且仍然有效)...