【问题标题】:Grails can't reference a domain class called Config in pluginGrails 无法在插件中引用名为 Config 的域类
【发布时间】:2012-08-16 21:00:19
【问题描述】:

我创建了一个 Grails 插件并在其中创建了一个名为 Config 的域类:

package com.company.common

class Config {

    String defaultTimeZone
    String defaultLanguage
}

在另一个 Grails 项目中,我包含了该插件,我在 Bootstrap.groovy: 中有这一行

import com.company.common.Config

但每次我尝试运行该项目时,都会收到此错误:

C:\Code\grails-app\conf\BootStrap.groovy: 4: 无法解析 com.company.common.Config 类

如果我在同一个 Grails 项目中有 Config 域类,它就可以工作。如果我在插件项目中将其重命名为ProjectConfig 之类的名称,它似乎也可以工作。

有人知道为什么我不能在另一个项目中引用名为Config 的域类吗?

附:插件项目中的所有其他域类都可以从主 Grails 项目中访问,只有 Config 类给我带来了问题。

【问题讨论】:

    标签: grails grails-2.0


    【解决方案1】:

    Grails 插件具有在打包插件时删除的特定文件(因此您可以使用它们进行测试)。你可以在这里找到列表Grails Plugins #Creating and Installing Plugins。为方便起见,以下是列表:

    grails-app/conf/BootStrap.groovy
    grails-app/conf/BuildConfig.groovy (although it is used to generate dependencies.groovy)
    grails-app/conf/Config.groovy
    grails-app/conf/DataSource.groovy (and any other *DataSource.groovy)
    grails-app/conf/UrlMappings.groovy
    grails-app/conf/spring/resources.groovy
    Everything within /web-app/WEB-INF
    Everything within /web-app/plugins/**
    Everything within /test/**
    SCM management files within **/.svn/** and **/CVS/**
    

    虽然此列表不包括域类文件夹中的 Config.groovy 文件,但它可能会被此捕获。如果 Config.groovy 文件被转移到打包的插件中,或者您可以接受重命名该文件,那也可以进行检查。

    【讨论】:

      猜你喜欢
      • 2012-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-30
      • 1970-01-01
      • 2014-08-02
      • 1970-01-01
      • 2012-02-17
      相关资源
      最近更新 更多