Class 如何使用src/groovy类?
我有一个域需要引用我在src/groovy目录下创建的类。我遵循上面的示例:20Classes/embedded.htmlClass 如何使用src/groovy类?,class,groovy,dns,src,Class,Groovy,Dns,Src,我有一个域需要引用我在src/groovy目录下创建的类。我遵循上面的示例:20Classes/embedded.html ===> class Person { String name Country bornInCountry Country livesInCountry static embedded = ['bornInCountry', 'livesInCountry'] } // If you don't want an associated table create
===>
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 bornInCountry
Country livesInCountry
我如何解决这个问题?有没有办法使用import语句进行引用
谢谢,
佩德罗·根蒂尔(Pedro Gentil)这取决于这些类中的每一个都在哪个包中。如果它们在同一个包中,则可以执行以下操作: 域类:
// grails-app/domain/mypackage/Person.groovy
package mypackage
class Person {
Country bornInCountry
// ...
}
// src/groovy/mypackage/Country.groovy
package mypackage
class Country {
// ...
}
// 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 {
// ...
}
非域类:
// grails-app/domain/mypackage/Person.groovy
package mypackage
class Person {
Country bornInCountry
// ...
}
// src/groovy/mypackage/Country.groovy
package mypackage
class Country {
// ...
}
// 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 {
// ...
}
如果它们不在同一个包中,那么您可以解决向Person
类添加适当的导入语句的问题:
域类:
// grails-app/domain/mypackage/Person.groovy
package mypackage
class Person {
Country bornInCountry
// ...
}
// src/groovy/mypackage/Country.groovy
package mypackage
class Country {
// ...
}
// 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 {
// ...
}
非域类:
// grails-app/domain/mypackage/Person.groovy
package mypackage
class Person {
Country bornInCountry
// ...
}
// src/groovy/mypackage/Country.groovy
package mypackage
class Country {
// ...
}
// 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 {
// ...
}
这将解决您的编译问题
我希望这会有所帮助。是否将
Country.groovy
移到src/groovy中的默认包?如果是,则将该类放入适当的包中,然后在域类中导入相同的包。该类可以由New/Groovy类创建。。。谢谢