Groovy статические блоки для определения отношений - PullRequest
0 голосов
/ 15 сентября 2010

У меня есть несколько классов классов, Employee и EmployeeDesiredSkill,

Сотрудник имеет

 static hasMany = [employeeSkill:EmployeeDesiredSkill]

и EmployeeDesiredSkill имеет

static belongsTo = [employee:Employee]

И все же groovyc выдает мне кучу ошибок, подобных следующей:

[groovyc] Compiling 15 source files to C:\dev\JavaTest\target\classes
[groovyc] org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
[groovyc] C:\dev\JavaTest\grails-app\domain\javatest\Employee.groovy: 6: Apparent   variable 'EmployeeDesiredSkill' was found in a static scope but doesn't refer to a local variable, static field or class. Possible causes:
[groovyc] You attempted to reference a variable in the binding or an instance variable from a static context.
[groovyc] You misspelled a classname or statically imported field. Please check the spelling.
[groovyc] You attempted to use a method 'EmployeeDesiredSkill' but left out brackets in a place not allowed by the grammar.
[groovyc]  @ line 6, column 44.
[groovyc]    ny = [employeeDesiredSkills : EmployeeDe
[groovyc]                                  ^

Что это значит точно? Как будто он не понимает, что EmployeeDesiredSkill - это класс домена

1 Ответ

2 голосов
/ 15 сентября 2010

Я предполагаю, что это приложение Grails, и вы пытаетесь использовать классы домена из него. Если так, то вам нужно сделать компиляция грааля вместо прямого вызова groovyc. Вызывая groovyc напрямую, вы пропускаете шаги, в которых Grails включает все его зависимости на этапе компиляции. Если вы пытаетесь использовать Grails GORM из простого проекта, см. эту ссылку

...