我有一个域需要引用我在src / groovy目录下创建的类。我按照上面的例子:http://grails.org/doc/2.1.0/ref/Domain% 20Classes / embedded.html
===>
class Person { String name
Country bornInCountry
Country livesInCountry
static embedded = ['bornInCountry', 'livesInCountry']
}
// If you don't want an associated table created for this class, either
// define it in the same file as Person or put Country.groovy under the
// src/groovy directory.
class Country {
String iso3
String name
}
根据评论文本,Country类可以保留在src / groovy目录中。但是当我在此目录下创建此类Country时,Person类不再识别它。错误" Groovy:无法解析类Country"如下所示:
Country bornInCountry
Country livesInCountry
如何解决此问题?有没有办法使用import语句进行引用?
谢谢,
Pedro Gentil
答案 0 :(得分:3)
这取决于每个类所在的包。如果它们在同一个包中,那么你可以这样做:
域类:
// grails-app/domain/mypackage/Person.groovy
package mypackage
class Person {
Country bornInCountry
// ...
}
非域类:
// src/groovy/mypackage/Country.groovy
package mypackage
class Country {
// ...
}
如果它们不在同一个包中,那么您可以通过向Person
类添加适当的import语句来解决问题:
域类:
// grails-app/domain/mypackage/Person.groovy
package my package
import someotherpackage.Country
class Person {
Country bornInCountry
// ...
}
非域类:
// src/groovy/someotherpackage/Country.groovy
package someotherpackage
class Country {
// ...
}
这应解决你的编译问题。
我希望有所帮助。