前段时间被问到 如何在idea社区免费版IDE中debug j2ee webapp项目。在IDEA付费版中,IDEA直接提供了tomcat jetty等插件,可以很方便的debug,然而在社区版并没有这些插件。但是我们可以通过结合grettygradle的webapp插件和IDEA的Run/Debug Configurations来实现Remote Debug

IDEA版本

版本不限,免费版和社区版都行,比如我的
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选项窗口,点击刷新图标,之后如下

  1. 执行gradle appStartDebug命令(双击greety下的appStartDebug),之后在右下角可以看到Listening for transport dt_socket at address: 5005等字样
  2. 窗口右上角点击选择Remote Debug,然后点击旁边的debug图标

    接着看到Connected to the target VM, address: ‘localhost:5005’, transport: ‘socket’字样
  3. 在Run窗口可以看到项目正在启动(启动可能比较慢)
  4. 在浏览器或者命令行中访问要debug的内容,我这里用curl命令
  5. 在IDEA的debug窗口中,可以看到如下,这就是配置成功了

停止debug

  • Debug窗口中单击左侧红色的Stop图标,关闭debug
  • 执行gradle appStop命令(在gradle窗口中gretty选项卡下双击appStop)

参考资料