我想从 Grails 构建的 WAR 中删除 log4j。我的 jboss 已经部署了它。我在尝试:
grails.project.dependency.resolution = {
...
dependencies {
provided 'log4j:log4j:1.2.16'
}
}
但它不起作用。在构建之后,WAR 仍然包含 log4j-1.2.16.jar。该怎么办?
把它放在BuildConfig.groovy的底部:
grails.war.resources = { stagingDir ->
delete(file:"${stagingDir}/WEB-INF/lib/log4j-1.2.16.jar")
}
每当我进行 grails 战争时,让运行 grails doc 以及将 grail log4j 插件包含到我的战争中都是浪费。前者有错误,也需要大量时间来减缓战争的产生。后者导致运行时异常,要求将 log4j.xml 放入 grails-app/conf。显然生产战争没有 grails-app/conf 目录。它也不存在于我从中运行启动的 tomcat bin 中。有没有办法在战争期间避免“grails doc”并为 log4j.xml 复制一个冗余文件以避免该异常?我的 grails 版本是 1.3.4