如何使用src / groovy类?

时间:2014-08-03 15:21:06

标签: class groovy dns src

我有一个域需要引用我在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

1 个答案:

答案 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 {
    // ...
}

这应解决你的编译问题。

我希望有所帮助。