在grails应用程序中使用java代码会导致编译永不结束循环

时间:2010-09-13 20:28:03

标签: java groovy grails

我有一个应用程序,我正在修改,我遇到了问题,不知道在哪里看。

当我第一次尝试编译问题时,一些groovy文件的导入无法正确解析。在一些追踪之后,我发现包没有像groovy文件所期望的那样定义。所以我更改了包以匹配.groovy文件所期望的内容,当我运行grails test run-app时,它使用groovyc进行编译,并且没有错误。问题是,它似乎无限重新编译我的java源文件。我只是猜测这个,因为我只有12个java文件,这就是它编写的数量。这是输出

 Running script C:\Program Files\grails\grails-1.1.2\scripts\RunApp.groovy
 Environment set to test
[mkdir] Created dir: C:\Users\dcole\SKillsDB\trunk\web-app\plugins\help-balloons-1.1
 [copy] Copying 7 files to C:\Users\dcole\SKillsDB\trunk\web-app\plugins\help-balloons-1.1
 [copy] Copied 3 empty directories to 1 empty directory under C:\Users\dcole\.grails\1.1.2\projects\trunk\resources
[mkdir] Created dir: C:\Users\dcole\.grails\1.1.2\projects\trunk\classes
[groovyc] Compiling 12 source files to C:\Users\dcole\.grails\1.1.2\projects\trunk\classes
[groovyc] Compiling 72 source files to C:\Users\dcole\.grails\1.1.2\projects\trunk\classes
[mkdir] Created dir: C:\Users\dcole\.grails\1.1.2\projects\trunk\resources\grails-app\i18n
 [native2ascii] Converting 12 files from C:\Users\dcole\SKillsDB\trunk\grails-app\i18n to C:\Users\dcole\.grails\1.1.2\projects\trunk\resources\grails-app\i18n
 [copy] Copying 1 file to C:\Users\dcole\.grails\1.1.2\projects\trunk\classes
 [copy] Copying 1 file to C:\Users\dcole\.grails\1.1.2\projects\trunk\resources
 [copy] Copied 2 empty directories to 2 empty directories under C:\Users\dcole\.grails\1.1.2\projects\trunk\resources
 [copy] Copied 7 empty directories to 5 empty directories under C:\Users\dcole\.grails\1.1.2\projects\trunk\resources
 [copy] Copying 1 file to C:\Users\dcole\.grails\1.1.2\projects\trunk
Running Grails application..
Server running. Browse to http://localhost:8080/SkillsDB
[groovyc] Compiling 11 source files to C:\Users\dcole\.grails\1.1.2\projects\trunk\classes
[groovyc] Compiling 12 source files to C:\Users\dcole\.grails\1.1.2\projects\trunk\classes
Running Grails application..
Server running. Browse to http://localhost:8080/SkillsDB
[groovyc] Compiling 11 source files to C:\Users\dcole\.grails\1.1.2\projects\trunk\classes
[groovyc] Compiling 12 source files to C:\Users\dcole\.grails\1.1.2\projects\trunk\classes
Running Grails application..
Server running. Browse to http://localhost:8080/SkillsDB
[groovyc] Compiling 11 source files to C:\Users\dcole\.grails\1.1.2\projects\trunk\classes
[groovyc] Compiling 12 source files to C:\Users\dcole\.grails\1.1.2\projects\trunk\classes
Running Grails application..
Server running. Browse to http://localhost:8080/SkillsDB
[groovyc] Compiling 11 source files to C:\Users\dcole\.grails\1.1.2\projects\trunk\classes
[groovyc] Compiling 12 source files to C:\Users\dcole\.grails\1.1.2\projects\trunk\classes
Running Grails application..
Server running. Browse to http://localhost:8080/SkillsDB
[groovyc] Compiling 11 source files to C:\Users\dcole\.grails\1.1.2\projects\trunk\classes
[groovyc] Compiling 12 source files to C:\Users\dcole\.grails\1.1.2\projects\trunk\classes
Running Grails application..
Server running. Browse to http://localhost:8080/SkillsDB
[groovyc] Compiling 11 source files to C:\Users\dcole\.grails\1.1.2\projects\trunk\classes
[groovyc] Compiling 12 source files to C:\Users\dcole\.grails\1.1.2\projects\trunk\classes

我应该开始追踪什么来解决这个问题?它几乎像循环依赖?我是grails的新手,所以这对我来说都是新的。

1 个答案:

答案 0 :(得分:3)

当类名与文件名不匹配或包与文件夹结构不匹配时,会发生这种情况。因此,您仍然需要对包< - >进行一些更改。文件夹结构。例如com.foo.bar.StringUtils必须位于src / java / com / foo / bar / StringUtils.java或src / groovy / com / foo / bar / StringUtils.groovy

如果重新编译哪些文件不太明显,您可以按编程或创建日期对编译目录中的类进行排序。最新的文件将是第一个,并将成为罪魁祸首。