Использование Java-кода в приложении Grails приводит к тому, что компиляция никогда не заканчивается - PullRequest
1 голос
/ 14 сентября 2010

У меня есть приложение, над которым я работаю, и у меня возникла проблема, и я не уверен, где искать.

Когда я впервые начал пытаться скомпилировать проблему, некоторые из 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 Ответ

3 голосов
/ 14 сентября 2010

Это произойдет, если имя класса не соответствует имени файла или пакет не соответствует структуре папки.Поэтому вам все еще нужно внести некоторые изменения в структуру пакета <->.например, com.foo.bar.StringUtils должен быть в src / java / com / foo / bar / StringUtils.java или src / groovy / com / foo / bar / StringUtils.groovy

Когда менее очевидно, какие файлыПри перекомпиляции вы можете отсортировать классы в директории компиляции по дате последнего редактирования или создания.Новейшие файлы будут первыми и будут теми, кто является виновниками.

...