首页 > 文章列表 > Spring Boot 调试启动失败:java.lang.instrument ASSERTION FAILED 如何解决?

Spring Boot 调试启动失败:java.lang.instrument ASSERTION FAILED 如何解决?

482 2025-02-22

Spring Boot 调试启动失败:java.lang.instrument ASSERTION FAILED 如何解决?

Spring Boot 项目调试启动异常排查

在使用 Spring Boot 项目进行调试时,遇到 java.lang.instrument ASSERTION FAILED : "!erroroutstanding" 异常,且 run 命令正常,debug 命令失败,排除了断点问题。此问题通常与 Java 平台监控和诊断工具 (Java Platform Instrumentation and Diagnostics, JPLIS) 相关。

问题分析:

JPLIS 用于监控和诊断 Java 应用程序的性能和行为。该异常表明 JPLIS 代理在调试模式下调用转换方法时失败。

解决方案:

尝试以下方法解决该问题:

  1. 禁用 JPLIS 代理: 在 JVM 参数中添加 -Djava.agent.enabled=false 禁用 JPLIS 代理。

  2. 移除 JPLIS 依赖: 检查 Maven 或 Gradle 配置文件,移除任何 JPLIS 相关的依赖项。

  3. 更换 JVM 版本: 尝试使用不同版本的 JVM,例如 OpenJDK 8 或 11,查看是否能解决问题。

其他建议:

如果以上方法无效,可以考虑:

  • 更新 JDK 至最新版本。
  • 检查是否存在其他 Java 代理或诊断工具可能导致冲突。
  • 向 JVM 供应商寻求技术支持。

通过以上步骤,您可以尝试解决 Spring Boot 项目调试启动失败的问题。 记住仔细检查您的项目依赖和 JVM 配置。

来源:1740079883