Tomcat 为什么Grail应用程序war文件比源代码占用太大的空间

Tomcat 为什么Grail应用程序war文件比源代码占用太大的空间,tomcat,grails,Tomcat,Grails,我创建了一个具有8.9 MB的grail应用程序,但一旦生成war文件,它的大小就会显示为30 MB,为什么需要30 MB。war文件的大小是由Spring/Grails应用程序所需的库决定的。这就是原因: Grails是许多框架的混合体,包括spring、hibernate等。所有框架都包括在内,您需要它们,因为它们是Grails的基线 默认情况下,每个grails应用程序都附带许多插件(查看BuildConfig.groovy): 缓存、资产、脚手架等。每个插件都有自己的依赖项,如类、JAR

我创建了一个具有8.9 MB的grail应用程序,但一旦生成war文件,它的大小就会显示为30 MB,为什么需要30 MB。

war文件的大小是由Spring/Grails应用程序所需的库决定的。

这就是原因:

Grails是许多框架的混合体,包括spring、hibernate等。所有框架都包括在内,您需要它们,因为它们是Grails的基线 默认情况下,每个grails应用程序都附带许多插件(查看BuildConfig.groovy): 缓存、资产、脚手架等。每个插件都有自己的依赖项,如类、JAR、js等。所有这些加起来

解决方案:战争和罐子只是容器。用你最喜欢的解压程序打开它们并检查

您可以使用下面的命令删除它

grails war -nojars
注意:它将构建一个没有WEB-INF/lib JAR的war。但您必须在部署之前将它们提供给Web服务器

参考:

如果您想要删除特定的jar文件,那么您可以使用下面的配置

添加到BuildConfig.groovy中:

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

如何删除那些不需要的库