Могу ли я использовать ConfigSlurper для ссылки на файл конфигурации в пути к классам? - PullRequest
6 голосов
/ 25 мая 2011

Я хочу использовать содержимое файла конфигурации несколькими способами, в том числе в интеграционных тестах и ​​в моем BootStrap.Если мой файл конфигурации находится в каталоге src / groovy и называется «com.corp.MyConfig.groovy», что я должен передать методу разбора ConfigSlurper?

Ответы [ 3 ]

3 голосов
/ 12 сентября 2011

Полагаю, что ваш Groovy-файл компилируется и становится классом в вашем двоичном каталоге (classpath). Вместо того, чтобы пытаться загрузить его через URL, попробуйте загрузить класс сценария.

Class scriptClass = getClass().classLoader.loadClass('com.corp.MyConfig')
ConfigObject config = new ConfigSlurper().parse(scriptClass)
2 голосов
/ 25 мая 2011

Если ваш файл конфигурации доступен в classpath, я бы предложил использовать ClassLoader.getResource () для его получения:

URL url = MyClass.class.getClassLoader().getResource("com/corp/MyConfig.groovy");
config = new ConfigSlurper().parse(url);
0 голосов
/ 19 декабря 2014

Из POGO вы также можете использовать:

import grails.util.Holders

class Foo {
    def bar() {
        println(Holders.config.grails.serverURL)
    }
}

От: Как мне узнать о вкусностях в моем Grails Config.groovy во время выполнения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...