我只是尝试从groovy阅读grails配置。 ConfigSlurper
易于使用,但由于它执行配置,它需要所有的依赖关系。在我的情况下,它抱怨失踪的log4j
类。 即使我将此类导入到我的ConfigSlurper
脚本中,配置本身也会遇到此问题。从groovy阅读Grails配置
任何想法我怎么可以使log4j
类访问配置?
更新:现在,我在我的面前适当的键盘,我可以详细说明我的问题:
我作为文档描述的配置log4j Grails的配置:
import org.apache.log4j.*
log4j = {
appenders {
appender new RollingFileAppender(
name: "myAppender",
maxFileSize: 1024,
file: "/tmp/logs/myApp.log"
)
}
}
然后我试图分析它们是这样的:
def file = new File(<config location>)
def config = new ConfigSlurper().parse(file.toURL())
和Slurper抛出一个异常...
如果你是超级对任何具有对log4j类的静态引用的Groovy代码(配置文件或其他),那些log4j类需要位于类路径中。 –
这就是我虽然但无法解决的问题。我在groovyConsole中尝试了我的脚本。在脚本中创建新的RollingFileAppender不是问题,但ConfigSlurper仍然抱怨。但是我发现了一个更好的方法来完全避免它在我的配置文件中......在当前的文档中找到它。 – rdmueller
你说过“即使我把这个类导入到我的ConfigSlurper脚本中”。导入是不够的。如果类在类加载器中不可用,那么导入将不起作用,这通常意味着类路径上可用。 –