我创建了一个8.9 MB的grail应用程序但是一旦我生成war文件大小显示30 MB为什么它占用30 MB。
答案 0 :(得分:0)
WAR文件的大小是由Spring / Grails应用程序所需的库引起的。
答案 1 :(得分:0)
这是理由:
Grails是许多框架的混合,spring,hibernate等。所有框架都包含在内,你需要它们,因为它们是grails的基线 默认情况下,每个grails应用程序都附带许多插件(请查看BuildConfig.groovy): 缓存,资产,脚手架等。每个插件都有自己的依赖项,如类,jar,js等所有这些都加起来。
解决方案:战争和罐子只是容器。用你最喜欢的解压缩程序打开它们并检查。
您可以使用以下命令
删除它grails war -nojars
注意:它将在没有WEB-INF / lib jar的情况下构建战争。但是您必须在部署之前将它们提供给您的Web服务器。
参考:http://mrhaki.blogspot.in/2009/05/create-much-smaller-grails-war-file.html
OR
如果你想删除特定的jar文件,那么你可以使用下面的配置
添加到您的BuildConfig.groovy:
grails.war.resources = { stagingDir ->
delete(file:"${stagingDir}/WEB-INF/lib/whatever.jar")
}