2010-09-15 2 views
0

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

Являются ли они в одном пакете? Если нет, вам понадобится импорт для EmployeeDesiredSkill –

+0

Я думаю, что Берт выявил проблему. Я сделал быстрый тест и попытался запустить приложение с классом домена, который неправильно импортировал другой класс домена и получил эту ту же ошибку. – proflux

ответ

2

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

Смежные вопросы