将maven与java项目结合使用是否会减少战争规模?
目前我们有JavaWeb项目,我们没有使用maven。当我们创建war文件时,它的大小太大了。我想减小这个war文件的大小
我认为这么大的战争规模是因为图书馆(几乎50%或全部)
因此,如果我们使用MAVEN,那么我们的WAR文件大小可能会减小
你可以在下面搜索框中键入要查询的问题!
目前我们有JavaWeb项目,我们没有使用maven。当我们创建war文件时,它的大小太大了。我想减小这个war文件的大小
我认为这么大的战争规模是因为图书馆(几乎50%或全部)
因此,如果我们使用MAVEN,那么我们的WAR文件大小可能会减小
# 1 楼答案
使用Maven不一定会减少你的战争规模。它可能会帮助您消除不再需要的可传递依赖JAR文件,但这只适用于您有这种不必要的依赖关系的情况
话虽如此,Maven“Shade”插件可以配置为将多个组件JAR组合成一个JAR。。。并从未实际使用的依赖JAR中删除类。查找shade插件的
minimizeJar
配置参数参考:
我很好奇为什么战争档案的大小是一个问题。web容器JVM将只加载webapp实际使用的类。其他类不会被加载,也不会占用大量JVM内存。当然,臃肿的WAR文件使用的磁盘空间比所需的多,但在典型的web服务器平台上,磁盘空间很便宜
# 2 楼答案
根据我们在问题下的对话中的评论:
扔掉无用的Lib就行了Maksym 16小时前
为什么war文件的大小对你来说是个问题?-Maksym 16小时前
您是否为您的容器罐使用“提供”范围Maksym 16小时前
@Maksym实际上,我们需要在第二周到第三周频繁更新war文件,而实际上客户端服务器位于第三到第四个位置,所以当互联网上传速度较慢时,下载需要花费大量时间。因此,如果尺寸减小,那么这将很快完成——murtaza。webdev 1小时前
解决方案,将打赌为容器的罐子设置“提供”范围。实际上,强烈建议容器罐使用此范围,以便有正确的工作webapp
对于容器jar,您应该具有如下依赖关系: