IntelliJ IDEA +gradle+gretty debug j2ee web-application
前段时间被问到 如何在idea社区免费版IDE中debug j2ee webapp项目。在IDEA付费版中,IDEA直接提供了tomcat jetty等插件,可以很方便的debug,然而在社区版并没有这些插件。但是我们可以通过结合gretty
等gradle
的webapp插件和IDEA的Run/Debug Configurations
来实现Remote Debug
。
IDEA版本
版本不限,免费版和社区版都行,比如我的
引入web-app项目到IntelliJ IDEA
本例使用https://github.com/ichenkaihua/ssm-easy-template项目,项目中用了gradle 的gretty
插件
添加Remote Debug
Configuration
- 选择
Run/Edit Configurations
下拉菜单(右上角),点击Edit Configurations...
- 在
Run/Edit Configurations
对话框中,单击+ 图标,选择Remote
,命名配置为Remote Debug
(自己随便取),什么都不用改,单击OK
设置断点
在代码中设置断点
debug web-app 项目
展开打开右侧Gradle
选项窗口,点击刷新图标,之后如下
- 执行
gradle appStartDebug
命令(双击greety
下的appStartDebug
),之后在右下角可以看到Listening for transport dt_socket at address: 5005等字样
- 窗口右上角点击选择
Remote Debug
,然后点击旁边的debug图标
接着看到Connected to the target VM, address: ‘localhost:5005’, transport: ‘socket’字样
- 在Run窗口可以看到项目正在启动(启动可能比较慢)
- 在浏览器或者命令行中访问要debug的内容,我这里用
curl
命令
- 在IDEA的debug窗口中,可以看到如下,这就是配置成功了
停止debug
- 在
Debug
窗口中单击左侧红色的Stop
图标,关闭debug - 执行
gradle appStop
命令(在gradle窗口中gretty选项卡下双击appStop
)