用IDEA调试Play工程

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

 

IDEA已经装了Scala插件,但是在新建工程中,Scala的选项中并没有Play框架,不知道什么原因。

导入Play工程

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

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

所以,首先安装activator, 然后在当前工程目录下运行activator,  进入activator的shell之后,输入idea,执行。这时候Activator会生成一个IDEA工程,导入就可以了。

 

设置调试环境

首先需要让activator在run 这个play工程时,可以接受远程调试。

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

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

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

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

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中看到程序在断点处停了下来。下面就可以调试了。

 

你可能感兴趣的:(idea)