【问题标题】:Grails & Netbeans: making changes without rerunning run-appGrails & Netbeans:在不重新运行 run-app 的情况下进行更改
【发布时间】:2010-12-03 17:44:06
【问题描述】:

大家好, 我刚从 Netbeans (6.9.1) 中的 Grails 开始。我有一个演示工作,但每次我更改一个 groovy 文件时,我都需要构建项目,然后选择运行(即相当于“grails build”和“grails run-app”)。如果已经有一个实例在运行,我需要先关闭那个实例。

这似乎是错误的。似乎我应该能够只更改 groovy 文件,它会自动重新加载。这不是 groovy 的重点吗?

这实际上是在 Netbeans 中应该如何工作的吗?在没有陷入 IDE 战争的情况下,其他 IDE 做得更好吗?似乎每个人都对 IntelliJ 中的 Grails 支持赞不绝口。值得吗?

最后一点...我注意到常规战争专家项目不再自动重新加载 F11 版本。这有关系吗?

谢谢

--马蒂亚斯

【问题讨论】:

  • 我总是从命令行运行应用程序,然后在我的 IDE 中进行更改。
  • 好吧...至少确认我的期望并非不合理。让我尝试重新安装 Netbeans 或通过 .netbeans 文件夹来查看它是否只是一些时髦的东西。谢谢。

标签: grails netbeans intellij-idea


【解决方案1】:

即使通过命令行运行 grails 应用程序,也不要期望重新加载所有文件。

根据您更改的 groovy 文件,grails 运行时自动重新加载是否有效。确实:

  • 开发模式下支持重新加载的文件和文件夹gsp files(在视图文件夹中),grails services(在服务文件夹中),controllerstaglibscssi18resourcesjavascript 文件,一些 config 文件(如 Config.groovy),url mappings。请注意,有一些 Grails 错误,例如,在服务中使用 spring 事务注释会导致重新加载崩溃

  • 不支持重新加载的文件和文件夹(并且需要重新启动应用程序):src/groovysrc/javaDomain classes(域目录下)下的任何代码,一些配置文件、plugins 中的更改、utils 文件夹下的任何代码(例如,如果您有任何 Codec)

因此,在您的情况下,如果您更改控制器 groovy 文件并且 NetBeans 重新启动应用程序,我建议您使用单独的命令行来运行 grails 应用程序并使用 IDE 进行代码更改。唯一不好的一面是您不会使用 NetBeans 调试器。 实际上,这就是我使用 Grails 和 IntelliJ 的方式

【讨论】:

  • 哇...好答案。通过“单独的命令行”,您的意思是从提示符运行 grails,即 cygwin 或其他东西。你有这个信息的参考吗?这似乎是说您可以重新加载域类:grails.org/Auto+Reloading。无论如何,谢谢。
  • 是的,我是这个意思。在 Windows 上,即使使用 dos 命令提示符,它也可以工作。不需要cygwin。
  • 从命令行运行 Grails 应用程序时没有理由没有调试器。即使我从 VM 内的命令行运行 Grails 应用程序,我的调试器也能在 IntelliJ IDEA 中完美运行。这意味着远程在另一台机器上。它完美地工作。
猜你喜欢
  • 1970-01-01
  • 2014-11-10
  • 2012-01-12
  • 2020-09-14
  • 2016-09-25
  • 2023-01-15
  • 2014-10-13
  • 2019-12-09
  • 2011-10-20
相关资源
最近更新 更多