Grails 编译器不断运行,可能是因为语法错误

标签 grails

我多次遇到这个问题:有时当我命令:grails run-app 时,编译器只是一次又一次地运行,即使在那之后我什么也没做。它看起来像:

Running Grails application..
Server running. Browse to http://localhost:8080/LiningTest
  [groovyc] Compiling 1 source file to E:\workspace\W1\LiningTest\target\classes

  [groovyc] Compiling 2 source files to E:\workspace\W1\LiningTest\target\classe
s
   [delete] Deleting directory C:\Documents and Settings\Long\.grails\1.3.6\proj
ects\LiningTest\tomcat
Running Grails application..
Server running. Browse to http://localhost:8080/LiningTest
  [groovyc] Compiling 1 source file to E:\workspace\W1\LiningTest\target\classes

  [groovyc] Compiling 2 source files to E:\workspace\W1\LiningTest\target\classe
s
   [delete] Deleting directory C:\Documents and Settings\Long\.grails\1.3.6\proj
ects\LiningTest\tomcat
Running Grails application..
Server running. Browse to http://localhost:8080/LiningTest
  [groovyc] Compiling 1 source file to E:\workspace\W1\LiningTest\target\classes
...

“Server running”时编译成功,但随后自动重新编译了一些文件(不知道是哪个文件),再次运行,然后重新编译...

当我遇到语法错误时,我曾经遇到过这个问题

constraint {
number(min:0.50) // the right way is "min: 0..50"
}

问题是为什么会出现这个问题,以及如何找到问题的原因。 (我想我在某处错过了一些逗号/点,但现在很难找到,因为没有错误消息!)

UPDATE:现在我看到问题是我在 src/groovy 中放置非域类时没有遵循文件夹结构规则。

最佳答案

首先要做的是运行:

grails compile -verboseCompile 

这至少会告诉你有问题的文件是什么。

显然这可能发生在

  • 包名与文件所在的目录(在您的源根目录下)不匹配。
  • 类名与文件名不同。

看看这个: http://www.pubbs.net/201007/grails/58100-grails-user-groovyc-causing-grails-to-loop-.html

Peter Ledbrook 上周(29:20)在 Groovy & Grails Exchange 的演讲中提到了这一点: http://skillsmatter.com/podcast/java-jee/talk-by-peter-ledbrook

关于Grails 编译器不断运行,可能是因为语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4515578/

相关文章:

spring - 找不到使用域类资源创建的Grails REST API返回

google-app-engine - 需要一本好书和示例应用程序来使用 Grails、Html5/JS 和 Google 应用程序引擎制作云网络移动应用程序

java - Grails 1.3.7 执行脚本时出错 War : Provider for javax. xml.parsers.SAXParserFactory 找不到

html - 在XHTML文档的grails中使用JSOUP获取两个不同标签之间的文本

debugging - Grails:如何转储对象的属性?

caching - Grails为什么我的缓存失效了?

grails - 如何使用@Build为Grails集成测试创建多种类型的测试数据

json - 使用Groovy JSON构建器

grails - 我想在条件返回值中添加分页

grails - Grails应用程序在域类构建时抛出ConversionNotSupportedException