如何在 Eclipse 上调试远程部署的 Spring Boot 应用程序和 Maven

Posted

技术标签:

【中文标题】如何在 Eclipse 上调试远程部署的 Spring Boot 应用程序和 Maven【英文标题】:How to debug remote deployed spring boot app & maven on eclipse 【发布时间】:2015-05-25 21:42:56 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

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

因此,为了设置您的服务器以进行远程调试,您必须通过将以下条目添加到您的 startup 来破解 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 选项卡中设置运行配置,包括 HostPortCommon 选项卡中,检查 Debug 选项。 应用运行你的配置。

【讨论】:

以上是关于如何在 Eclipse 上调试远程部署的 Spring Boot 应用程序和 Maven的主要内容,如果未能解决你的问题,请参考以下文章

无法在eclipse上调试远程应用程序

使用Eclipse进行远程调试(转)

使用 Eclipse 或其他方式在 Linux 目标上进行 Java 远程调试

在eclipse中远程调试python项目

Eclipse远程调试

使用Eclipse进行测试环境的远程调试