【问题标题】:How to access config properties in BuildConfig for grails 2.3.2如何在 BuildConfig 中为 grails 2.3.2 访问配置属性
【发布时间】:2017-07-26 13:37:34
【问题描述】:

我正在尝试从 config.grooy 属性设置依赖版本。我在这里找到了一种假定的方法:pritomkumar.blogspot。这是建议的解决方案:

在“BuildConfig.groovy”文件中包含以下行

def directory = new File(getClass().protectionDomain.codeSource.location.path).parent;
def config = new ConfigSlurper(grailsSettings.grailsEnv).parse(new File(directory + File.separator + "Config.groovy").toURI().toURL())
println "| Tomcat Version (API): " + config.grails.tomcat.version;
....    
plugins {
    runtime ":hibernate:2.2.4"
    runtime ":jquery:1.8.3"
    runtime ":resources:1.2"

    // Uncomment these (or add new ones) to enable additional resources capabilities
    //runtime ":zipped-resources:1.0"
    //runtime ":cached-resources:1.0"
    //runtime ":yui-minify-resources:0.1.5"

    build ":tomcat:"+config.grails.tomcat.version

    runtime ":database-migration:1.3.2"

    compile ':cache:1.0.1'
}

在 'Config.groovy' 中包含以下行

grails.tomcat.version = "2.2.4" 

但它看起来适用于较旧的 grails 版本,因为我在尝试刷新依赖项时遇到了这个错误

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
script15010760392501179421923.groovy: 1: unable to resolve class com.whatever.configuration.ConfigurationFilesManager
 @ line 1, column 1.
   import com.whatever.configuration.ConfigurationFilesManager
   ^

1 error

    at BuildConfig.run(BuildConfig.groovy:17)
    at grails.util.BuildSettings.loadConfig(BuildSettings.groovy:1087)
    at grails.util.BuildSettings.loadConfig(BuildSettings.groovy)
    at grails.util.BuildSettings.loadConfig(BuildSettings.groovy:1073)
    at grails.util.BuildSettings.loadConfig(BuildSettings.groovy)
    at grails.util.BuildSettings$loadConfig$0.callCurrent(Unknown Source)
    at grails.util.BuildSettings.loadConfig(BuildSettings.groovy:1053)

|错误加载 BuildConfig 时出错:启动失败: script15010760392501179421923.groovy: 1: 无法解析类 com.whatever.configuration.ConfigurationFilesManager @ 第 1 行,第 1 列。 导入 com.whatever.configuration.ConfigurationFilesManager

有什么帮助吗?提前致谢。

【问题讨论】:

    标签: grails


    【解决方案1】:

    你可以检查 Grails use config.properties value into BuildConfig.groovy

    只需将 config.properties 替换为 config.goorvy 然后你可以在 BuildConfig 中获取 Config 值 在 2.5.6 中测试

    但是如果我们在 config.groovy 中定义一个配置,例如 `tomcatVersion = "2.2.4"

    build ":tomcat:$slurp.tomcatVersion" 会变成 ":tomcat:"2.2.4"" 不符合格式

    您可以使用其他表达式,例如
    compile group: 'org.grails', name: 'tomcat', version: $slurp.tomcatVersion

    【讨论】:

      猜你喜欢
      • 2011-10-31
      • 1970-01-01
      • 1970-01-01
      • 2014-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-29
      • 1970-01-01
      相关资源
      最近更新 更多