我已经安装了Grails Fixtures plugin (http://www.grails.org/plugin/fixtures),用于将一些初始数据加载到我的数据库中,用于开发和测试环境。我还将Grails与Maven集成在一起。
我已经将数据加载代码添加到BootStrap.groovy中:
import grails.util.Environment
class BootStrap {
def fixtureLoader
def init = { servletContext ->
if (Environment.current == Environment.DEVELOPMENT || Environment.current == Environment.TEST) {
//def fixtureLoader = new FixtureLoader(grailsApplication)
fixtureLoader.load("init")
}
}
}
当我使用"grail run- app“运行我的Grails应用程序时,它工作得很好,但是如果我使用Maven Grails命令"mvn grails: run -app -Dgrails.env=development”,它就不能工作。它抛出以下错误:
Error executing bootstraps; nested exception is java.lang.NullPointerException: Cannot invoke method load() on null object
如果我使用Maven Grails命令"mvn grails:fixtureLoader-app“,似乎”run“bean没有正确初始化。
你有什么想法吗?或者这可能是个bug。
发布于 2013-04-19 21:25:29
将其作为dependency
添加到pom.xml
中,而不是BuildConfig.groovy
中。Maven查看pom来解析依赖项(在本例中是一个插件)。
<dependency>
<groupId>org.grails.plugins</groupId>
<artifactId>fixtures</artifactId>
<version>1.0.7</version>
<scope>runtime</scope>
<type>zip</type>
</dependency>
注意: scope runtime
使工件在test
作用域中也可用。
https://stackoverflow.com/questions/16104974
复制相似问题