在 IntelliJ 中启用 Grails 3.x 自动重新加载

Enable Grails 3.x auto-reload in IntelliJ

可能不重要,但是有人对 Grails 中的 IntelliJ 重新加载选项有疑问吗?

从 IntelliJ 启动应用程序 运行 应用程序集 Reloading active: false

我尝试通过控制台 (powershwell) 清理并重新启动应用程序。重新加载为真并按预期设置。

运行宁 IntelliJ 14.1.1/Grails 3.0.1/JDK 1.8.025

尝试从 -Xverify:none VM 参数开始

我为此苦苦挣扎了一段时间,甚至尝试在调试器中进行一些深层次的单步调试,直到我放弃...

如果使用 IntelliJ 的 运行 通过 运行 宁 grail-app/init/.../Application 传入,grails 似乎会忽略“-reloading”参数: 它会自动重新编译已更改的文件,但 运行ning 实例永远不会重新加载。这与使用此方法开始时未设置 springloaded java 代理有关。

无论如何 - 我认为有两个重要的事实在起作用: 首先,Grails3 与 Grail2 非常不同,IntelliJ 14 并不真正支持它,因此您需要将其作为 Gradle 项目导入。 其次,您需要使用名为 'run' 的 gradle 任务来启动应用程序(在 'Run' 或 'Debug' 模式下)使用 Tasks->Application->运行 然后自动重新加载工作正常。

如果 Reloading Active 仍然设置为 "False" 请按照以下步骤操作:

  1. 查看 IntelliJ 的右侧 Window。
  2. 单击 Gradle 图标。
  3. 点击任务。
  4. 点击申请。
  5. 单击 运行。

可选:您可以在 VM 选项或 VM 参数中设置 -Xverify:none 选项。

如果这没有帮助,请尝试从 1.8 升级。0_25 到 _40、_51 或 _60。

祝你好运!

在 Windows 中,自动重新加载对我来说根本不起作用。

在 Ubuntu 中,一切都开箱即用。对于 IntelliJ,我必须在 "Grails:Appname" 运行 配置中添加以下 VM 选项:

-noverify -javaagent:/<PATH_TO_GRAILS>/grails/3.0.9/lib/org.springframework/springloaded/jars/springloaded-1.2.4.RELEASE.jar

有一篇关于 grails3 和 itellij 的非常好的博客 post,标题为使用 IntelliJ IDEA 开发 Grails 3 应用程序。它是 Grails QuickCast 系列中的第 6 个。在分钟数 3:20 中,您会找到一个 -noverify 参考。

这里是link:https://www.ociweb.com/products/grails/grails-quickcast-6-developing-grails-3-applications-with-intellij-idea/

这些步骤对我有用:

  1. 将 VM 选项设置为:-Ddisable.auto.recompile=false -Xverify:none

  2. 将此添加到 build.gradle ... buildscript { ... dependencies { ... classpath 'org.springframework:springloaded:1.2.0.RELEASE' ... } } ...