如何在 eclipse 上调试远程部署的 spring 启动应用程序和 maven

How to debug remote deployed spring boot app & maven on eclipse

我已经在 URL 的提供商服务器上部署了应用程序:

http://my.domain.net/my-spring-boot-app/

提供商使用 Tomcat 作为 java 应用程序容器。应用程序连接到 PostgreSQL,它只能从该服务器主机执行此操作 - 因为这是一个限制(可能在 pg_conf 上)。这很重要,因为错误仅显示在服务器站点上。当我使用 maven 和 eclipse pack 时,如何远程调试我的 Spring Boot (war!) 应用程序?

我不知道 PostgreSQL 问题,但在我看来,这与数据访问层或工具无关,因为它基本上是一个 Java 应用程序,暗示了所有 JVM 应用程序的规则。

因此,为了设置您的服务器以进行远程调试,您必须通过添加以下内容来破解 jvm(在您的情况下是 catalina,因为您正在 运行 宁 Tomcat 服务器)启动选项进入您的启动脚本:

  • 对于 Windows 系统:

    set CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n %CATALINA_OPTS%"
    
  • 对于 *nix 系统:

    export CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n $CATALINA_OPTS"
    

下面的指令有一个快捷方式,使用 catalina 启动脚本选项,如果这代表您的替代方案:catalina jpda start

然后您的应用程序启动并侦听配置的端口(8787 是这个示例,您必须打开它),然后您可以附加您的 IDE(Eclipse) 远程调试应用程序:

  • 导航至 运行 -> 调试配置
  • 创建一个新的远程Java应用程序配置
  • Connect 选项卡中设置 运行 配置,包括 HostPort
  • Common 选项卡中,选中 Debug 选项。
  • 应用运行你的配置。