Eclipse调试Tomcat/Maven报unable to install breakpoint in如何解决
Eclipse调试Tomcat/Maven启动的Vaadin 23应用报“无法安装断点”问题说明
虽然为该问题标记了Java标签,但它并非严格意义上的Java专属问题。当前正在进行的操作是将Vaadin应用从Vaadin 8版本升级至Vaadin 23版本,本地环境配置如下:
- 操作系统:Windows 10
- Eclipse版本:2022-03 (4.23.0),Build id: 20220310-1457
- Apache Tomcat:9.0.60
- Apache Maven:3.8.5
- Java版本:AdoptOpenJDK 11.0.10.9
故障现象
- Eclipse中无法调试通过Tomcat服务器启动、或Maven构建启动的任何应用,但纯Java应用的调试功能完全正常
- 升级操作前,Vaadin 8应用可正常通过Tomcat、Maven构建完成调试
- 启动Vaadin 23升级工作后调试功能出现故障:通过Tomcat/Maven启动调试时持续弹出 unable to install breakpoint in 报错,即使选择继续运行,Eclipse也会忽略所有断点;以Java应用方式启动时无该问题
- 按照Spring官方快速入门指引新建Spring Vaadin应用仍出现相同问题,说明新建工作空间、新建项目无法解决问题;已尝试删除并重建
.m2和.eclipse文件夹,故障依旧
已尝试的修复操作
反复切换验证的配置项
- 路径
Window => Preferences => Java => Compiler (class file generation)下的三个配置项,已多次执行「取消勾选-应用、重新勾选-应用」的重置操作:- Add variable attributes...
- Add line number attributes...
- Add source file name...
- 路径
Window => Preferences => Maven下的配置项:- Debug Output
已核查确认正确的配置
Window => Preferences => Maven => installations指向本地安装的Maven 3.8.5Window => Run/Debug下 Launch in debug mode when workspace contains breakpoints 选项设置为ALWAYSWindow => Server => Runtime Environment指向本地安装的Apache Tomcat 9.0.60- 环境变量
JAVA_HOME、M2_HOME、MAVEN_HOME均已正确配置指向对应安装路径
已参考验证的通用解决方案
已查阅并尝试过技术社区中两类同报错问题的所有高赞解决方案,均未修复故障。
问题复现步骤
可通过以下操作100%复现问题:
- 访问Spring项目初始化站点,选择以下配置生成项目:
- 项目类型:Maven项目
- 开发语言:Java
- Spring Boot版本:2.6.8
- 打包方式:War
- Java版本:11
- 添加依赖项:Vaadin、Spring Boot DevTools、Liquibase Migration
- 生成并下载项目压缩包,解压后导入Eclipse
- 在Eclipse中打开Server视图,执行以下操作:
- 创建新服务器,指向本地Tomcat 9安装路径
- 配置VM参数如下:
-Dcatalina.base="C:\work\programming\spring.metadata.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.home="C:\work\projects\common_libraries\apache-tomcat-9.0.60" -Dwtp.deploy="C:\work\programming\spring.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps" --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
- 在项目入口类
DemoApplication.java的SpringApplication.run(DemoApplication.class, args);代码行添加行断点 - 以调试模式启动服务器,立刻弹出 unable to install breakpoint in... 报错
注:将该项目直接以Java应用方式调试时,断点可正常命中
诉求
不希望通过全量卸载重装软件的方式解决问题,求遗漏的排查方向。
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

