使用 Play 进行工作是很容易的。你甚至不需要一个复杂的 IDE,因为 Play 会自动地编译和刷新你修改的源文件,所以,你可以使用简单的文本编辑器轻松地进行工作。
但是,时髦的 Java IDE 提供了一些很酷且高效的特性,例如自动完成,即时编译,重构辅助和调试。Play 支持 NetBeans, IntelliJ IDEA 和 Eclipse platforms 平台。
生成 Eclipse 配置文件
Play 提供一个生成 Eclipse 配置的命令。要将 Play 应用转化为 Ecipse 工程,可以使用 eclipsify 命令:
play eclipsify myApp
然后,你需要使用 File/Import/General/Existing project… 菜单将应用导入到你的工作区中。
eclipsify 命令生成若干个应用程序的启动器(launcher),主启动器(main launcher)只能通过 Eclipse 的 Run As 命令使用。可以随时通过 Debug As 启动一个调试会话,然后使用 Connect JPDA launcher ,停止调试会话并不会导致服务器终止。
如果你对应用程序做了任何重要的修改,如改变 classpath,则需要使用 eclipsify 重新生成 Eclipse 配置文件。
此外,Play 目录下带有一个 Eclipse 插件,在 support/eclipse/ 目录下,要安装它,只需将你在该目录下找到的 JAR 文件,简单地复制到 Eclipse 安装目录的 dropins 文件夹下。
生成 IntelliJ IDEA 配置文件
Play 提供一个生成 IntelliJ IDEA 配置的命令。要将 Play 应用转化为 IntelliJ IDEA 工程或模块(module),可以使用 idealize 命令:
play idealize myApp
然后,你就可以使用导入模块的功能将应用导入 IntelliJ。
你可以在上下文菜单中使用 Run 和 Debug 命令。
调试问题
当 Java 源代码被修改时 Play 会自动重新加载 Java 类。然而,由于 Java 并不完全支持类的重载,JDPA 调试器会很容易令人感到困惑:断点提交可能会失败或者当调试进入代码时调试器可能会停止在错误的代码行上。
为了避免这种现象,更好的办法是修改代码后启动一个新的调试会话。幸运的是,JPDA 支持随时连接和断开调试器而不需要重新启动 JVM。
所以,调试的正确流程应该是:
1. 修改源代码。
2. 刷新浏览器以查看结果。 (这时候 Play 将重新加载代码的改动,并重新在 JVM 中定义。)
3. 如果出现错误,需要调试,则可以启动一个新的调试会话。
4. 调试并修正你的代码。
5. 断开调试。
通过遵循以上流程,可以保证调试器永远和加载在 JVM 中的代码保持同步。