【问题标题】:Grails Fixtures: grails run-app works, but mvn grails:run-app notGrails Fixtures: grails run-app 有效,但 mvn grails:run-app 无效
【发布时间】:2013-04-19 12:47:45
【问题描述】:

我已经安装了 Grails Fixtures 插件 (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:run-app”,似乎“fixtureLoader”bean 未正确初始化。

你有什么想法吗?或者它可能是一个错误......

【问题讨论】:

    标签: maven grails fixtures


    【解决方案1】:

    将其添加为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>
    

    注意:runtime 范围内的工件也可以在 test 范围内使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-17
      相关资源
      最近更新 更多