2012-04-11 62 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