用IDEA调试Play工程

IDEA的版本是14.0.1,运行在MAC OS X Yosemite上。shell

 

IDEA已经装了Scala插件,可是在新建工程中,Scala的选项中并无Play框架,不知道什么缘由。浏览器

导入Play工程

我想导入从Github上下载的一个play工程。框架

当直接用IDEA的import project导入build.sbt时,虽然能够正常导入,可是IDEA并不能识别play的目录结构。socket

因此,首先安装activator, 而后在当前工程目录下运行activator,  进入activator的shell以后,输入idea,执行。这时候Activator会生成一个IDEA工程,导入就能够了。ide

 

设置调试环境

首先须要让activator在run 这个play工程时,能够接受远程调试。ui

set "JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=<port>"idea

在Linux和mac下,export "JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=<port>"spa

这里把port设成想要的端口。此次设成9999插件

而后在IDEA最上边的run目录下选择 edit configuration。进行如下设置debug

Transport : Socket

Debugger mode: Attach

Host: localhost

Port:9999

name:本身起一个。

进行调试

首先在项目里设置断点。

在terminal里执行前边提到的export "JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=<port>"

接着执行activator ~run。会显示

Listening for transport dt_socket at address: 9999

...........

[info] play - Listening for HTTP on /0:0:0:0:0:0:0:0%0:9000

而后在IDEA里启动调试,选择刚才创建的那个调试选项,开始调试

在IDEA的Console中会显示

Connected to the target VM, address: 'localhost:9999', transport: 'socket'

打开浏览器,访问localhost:9000, 就会在IDEA中看到程序在断点处停了下来。下面就能够调试了。

相关文章
相关标签/搜索