Spring Boot 项目调试启动异常排查
在使用 Spring Boot 项目进行调试时,遇到 java.lang.instrument ASSERTION FAILED : "!erroroutstanding" 异常,且 run 命令正常,debug 命令失败,排除了断点问题。此问题通常与 Java 平台监控和诊断工具 (Java Platform Instrumentation and Diagnostics, JPLIS) 相关。
问题分析:
JPLIS 用于监控和诊断 Java 应用程序的性能和行为。该异常表明 JPLIS 代理在调试模式下调用转换方法时失败。
解决方案:
尝试以下方法解决该问题:
-
禁用 JPLIS 代理: 在 JVM 参数中添加 -Djava.agent.enabled=false 禁用 JPLIS 代理。
-
移除 JPLIS 依赖: 检查 Maven 或 Gradle 配置文件,移除任何 JPLIS 相关的依赖项。
-
更换 JVM 版本: 尝试使用不同版本的 JVM,例如 OpenJDK 8 或 11,查看是否能解决问题。
其他建议:
如果以上方法无效,可以考虑:
- 更新 JDK 至最新版本。
- 检查是否存在其他 Java 代理或诊断工具可能导致冲突。
- 向 JVM 供应商寻求技术支持。
通过以上步骤,您可以尝试解决 Spring Boot 项目调试启动失败的问题。 记住仔细检查您的项目依赖和 JVM 配置。