如何解决我可以使用ConfigSlurper引用类路径中的配置文件吗?
| 我想以多种方式使用配置文件的内容,包括在集成测试中和在我的BootStrap中。如果我的配置文件位于src / groovy下,并且名为\“ com.corp.MyConfig.groovy \”,我应该将什么传递给ConfigSlurper解析方法?解决方法
我猜发生了什么事,就是您的Groovy文件被编译并最终成为二进制目录(类路径)中的类。与其尝试通过URL加载,不如尝试加载脚本类。
Class scriptClass = getClass().classLoader.loadClass(\'com.corp.MyConfig\')
ConfigObject config = new ConfigSlurper().parse(scriptClass)
,如果您的配置文件在类路径上可用,我建议使用ClassLoader.getResource()来获取它:
URL url = MyClass.class.getClassLoader().getResource(\"com/corp/MyConfig.groovy\");
config = new ConfigSlurper().parse(url);
,在POGO中,您还可以使用:
import grails.util.Holders
class Foo {
def bar() {
println(Holders.config.grails.serverURL)
}
}
来自:如何在运行时获得Grails Config.groovy中的好东西?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。