Grails - 如何从 WAR 中删除 log4j
Posted
技术标签:
【中文标题】Grails - 如何从 WAR 中删除 log4j【英文标题】:Grails - how to remove log4j from WAR 【发布时间】:2012-04-23 19:55:44 【问题描述】:我想从 Grails 构建的 WAR 中删除 log4j。我的 jboss 已经部署了它。 我正在尝试:
grails.project.dependency.resolution =
...
dependencies
provided 'log4j:log4j:1.2.16'
但它不起作用。在构建之后,WAR 仍然包含 log4j-1.2.16.jar。怎么办?
【问题讨论】:
【参考方案1】:把它放在 BuildConfig.groovy 的底部:
grails.war.resources = stagingDir ->
delete(file:"$stagingDir/WEB-INF/lib/log4j-1.2.16.jar")
【讨论】:
哇!感谢您的快速回答。当然,它奏效了。为你 +1。【参考方案2】:每当我进行 grails 战争时,让运行 grails doc 以及将 grail log4j 插件包含到我的战争中都是浪费。前者有错误,也需要大量时间来减缓战争的产生。后者导致运行时异常,要求将 log4j.xml 放入 grails-app/conf。显然生产战争没有 grails-app/conf 目录。它也不存在于我从中运行启动的 tomcat bin 中。有没有办法在战争期间避免“grails doc”并为 log4j.xml 复制一个冗余文件以避免该异常?我的 grails 版本是 1.3.4
【讨论】:
以上是关于Grails - 如何从 WAR 中删除 log4j的主要内容,如果未能解决你的问题,请参考以下文章
我们如何将更高版本的 Log4j 设置为 grails 应用程序