如何在Eclipse中调试GWT应用?Maven项目断点失效问题求助
GWT-Maven项目Eclipse调试断点不生效的解决办法
确认GWT运行模式
- 必须以**开发模式(Dev Mode)**启动项目,生产编译(
mvn gwt:compile)后的代码经过混淆优化,断点无法和源码映射。启动时用mvn gwt:run命令,而非直接运行编译打包后的文件。
检查Eclipse项目源码配置
- 右键项目 →
Properties→Java Build Path,在Source标签页确认服务器端源码目录(比如src/main/java)已被正确添加,没有的话点击Add Folder补全。 - 确保gwt-maven-plugin相关依赖已下载源码:右键Maven依赖 →
Download Sources,没有源码的话Eclipse无法关联断点到具体代码行。
配置Eclipse远程调试关联GWT Dev Mode
GWT开发模式默认用9997端口作为调试端口,按以下步骤配置:
- 点击
Run→Debug Configurations - 新建
Remote Java Application配置 - 设置
Host为localhost,Port为9997,Project选择你的GWT-Maven项目 - 先启动这个远程调试配置,再用
mvn gwt:run启动项目,确保端口匹配。
确认断点位置正确性
- 断点必须打在服务器端的Servlet/RPC处理器类上,客户端GWT代码运行在浏览器中,需要用浏览器调试工具(如Chrome DevTools)打断点,而非Eclipse的Java断点。
- 如果是RPC调用,先通过日志验证服务器端目标方法是否真的被执行,排除代码逻辑未走到断点的情况。
配置Maven插件调试参数
在pom.xml的gwt-maven-plugin节点中添加调试配置,确保启动时允许远程调试:
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>gwt-maven-plugin</artifactId> <version>你的插件版本号</version> <configuration> <runTarget>你的入口页面.html</runTarget> <hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp> <debugPort>9997</debugPort> <debug>true</debug> </configuration> </plugin>
清理重建项目
执行mvn clean install清理旧编译文件,再在Eclipse中执行Project → Clean,选择目标项目清理,避免旧class文件干扰断点映射。
内容的提问来源于stack exchange,提问作者Владимир Зуев
相关产品推荐
相关产品推荐

