2012-04-11 68 views
4

我想从由Grails构建的WAR中删除log4j。我的jboss已经部署了它。 我试图:Grails - 如何从WAR中删除log4j

grails.project.dependency.resolution = { 
    ... 
    dependencies { 
     provided 'log4j:log4j:1.2.16' 
    } 
} 

但它不起作用。在构建之后,WAR仍然包含log4j-1.2.16.jar。该怎么办?

回答

5

将这个在底部BuildConfig.groovy的:

grails.war.resources = { stagingDir -> 
    delete(file:"${stagingDir}/WEB-INF/lib/log4j-1.2.16.jar") 
} 
+0

哇!感谢您的快速回答。当然,它的工作。为你+1。 – emstol 2012-04-11 13:52:18

+0

不客气! – Topera 2012-04-11 15:36:01

0

Whenver我做Grails的战争,这是浪费,让运行Grails的文档,以及包括大盘log4j的插件安装到我的战争。前者有错误,并且需要花费大量时间来减缓战争的产生。后者导致运行时异常,要求将log4j.xml放入grails-app/conf中。生产战争显然没有grails-app/conf目录。它在我运行启动的tomcat bin中都不存在。有没有办法在战争中避免“grails doc”,并且为log4j.xml复制冗余文件以避免该异常?我的grails版本是1.3.4