我只是尝试从groovy读取grails配置。 ConfigSlurper
易于使用,但由于它执行配置,因此需要所有依赖项。就我而言,它抱怨缺少log4j
课程。
即使我将此类导入我的ConfigSlurper
脚本,配置本身也会遇到此问题。
任何想法如何使log4j
类可以访问配置?
更新:现在我面前有一个合适的键盘,我可以详细说明我的问题:
我有grails配置,配置log4j,如文档中所述:
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抛出异常...
答案 0 :(得分:0)
我找到了两个解决方案:
首先,文档显示了如何配置rollingFileAppender而不实例化一个:http://grails.org/doc/2.3.7/guide/conf.html。
其次,我设法用
解决了原来的问题@Grab('log4j:log4j:')
在我的脚本前面 - 如果你在防火墙后面,这不是一个好的解决方案......
正如杰夫已经说过的那样,也应该可以将正确的jar文件放在类路径中,但我必须说我经常在使用cp :-(当我试图将log4j.jar放入其中时.groovy文件夹,我没有成功 - 但我想这是因为一个不正确的groovy安装。