2014-04-04 178 views
2

我部署了幾個Web應用程序的客戶端在爆炸.war文件時具有非常慢的磁盤陣列和一些嚴重的反病毒掃描。在我的筆記本電腦上爆炸.war的過程大約需要5分鐘,但在客戶端的網站上大約需要45分鐘。我想從web-apps lib目錄(在war文件中)移動到tomcat的lib目錄。但是,我似乎無法讓Grails在.war中不包含lib文件夾。Grails Production .War部署

這是我BuildConfig..groovy文件的頂部:

grails.servlet.version = "2.5" // Change depending on target container compliance (2.5 or 3.0) 
grails.project.class.dir = "target/classes" 
grails.project.test.class.dir = "target/test-classes" 
grails.project.test.reports.dir = "target/test-reports" 
grails.project.target.level = 1.6 
grails.project.source.level = 1.6 
grails.project.war.file = "target/${appName}.war" 

grails.war.resources = { stagingDir -> 
    fileset(dir: "${stagingDir}/WEB-INF/lib").each { 
    delete(file: it) 
    } 
} 

使用Grails 2.2.5版本

+0

我唯一能想到的,因爲你的代碼看起來是正確的,你是否已經在非生產環境塊下指定了它? – Gregg

+0

我沒有它在一個環境塊,所以不應該爲所有環境設置? –

回答

2

這應該工作:

grails.war.resources = { stagingDir -> 
    fileset(dir: "${stagingDir}/WEB-INF/lib").each { 
     delete(file: it)  
    } 
} 
+0

lib目錄中的所有東西仍然包含在.war文件中 –

+0

奇怪。爲我工作。 :)。確保它不會在'grails.project.dependency.resolution'內出現。 – dmahapatro

+0

我編輯的問題包含在我的BuildConfig.groovy中,在我的Config.groovy文件中也沒有grails.war。* –