目前我们有java web项目,我们没有使用maven。当我们创建战争文件时,它的大小太大了。我想减少这个战争文件的大小。正在使用maven与java项目减小战争规模?
我觉得这么多的战争规模是因为图书馆(几乎50%或总数)。
所以有可能如果我们使用MAVEN,那么我们的WAR FILE SIZE将会降低。
目前我们有java web项目,我们没有使用maven。当我们创建战争文件时,它的大小太大了。我想减少这个战争文件的大小。正在使用maven与java项目减小战争规模?
我觉得这么多的战争规模是因为图书馆(几乎50%或总数)。
所以有可能如果我们使用MAVEN,那么我们的WAR FILE SIZE将会降低。
使用Maven不一定会减小WAR大小。它可以帮助您消除不再需要的传递依赖JAR文件,但只有在具有这种不必要的依赖关系时才适用。
话虽如此,Maven“Shade”插件可以配置为将多个组件JAR组合成单个JAR ...并从实际未使用的依赖JAR中删除类。查找阴影插件的minimizeJar
配置参数。
参考:
我很好奇,为什么WAR文件的大小是一个问题。 Web容器JVM将只加载Web应用程序实际使用的类。其他类不会被加载,也不会使用大量的JVM内存。当然,臃肿的WAR文件使用的磁盘空间比必要的要多,但在典型的Web服务器平台上磁盘空间便宜。
按照问题下我们的意见的对话:
就扔掉没用库。 - Maksym 16小时前
为什么战争文件的大小对你来说是个问题? - Maksym 16小时前
您是否为您的容器罐使用“提供”范围? - Maksym 16小时前
@Maksym实际上我们需要在第二周三次更新战争文件,而实际上客户端服务器在三个四个地方,所以当互联网变慢时,上传下载需要花费很长时间。所以如果大小减少,那么这将快速完成 - murtaza.webdev 1小时前
解决方案,可以打赌,设立“规定”范围的容器罐。实际上,强烈建议将这个范围用于容器罐,以便有正确的工作webapp。
你应该有这样的依赖于容器罐:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${servlet-api-version}</version>
<scope>provided</scope>
</dependency>
就扔掉没用库。 – Maksym 2014-11-25 14:56:06
为什么战争档案的大小对你来说是个问题? – Maksym 2014-11-25 14:56:53
您是否为您的容器罐使用“提供”范围? – Maksym 2014-11-25 14:58:17