在java项目中使用maven会减少战争的规模吗?

在java项目中使用maven会减少战争的规模吗?,java,maven,size,war,web-deployment,Java,Maven,Size,War,Web Deployment,目前我们有JavaWeb项目,我们没有使用maven。当我们创建war文件时,它的大小太大了。我想减小这个war文件的大小 我认为这么大的战争规模是因为图书馆(几乎占总数的50%) 因此,如果我们使用MAVEN,那么我们的WAR文件大小可能会减小。使用MAVEN不一定会减小您的WAR大小。它可能会帮助您消除不再需要的可传递依赖JAR文件,但这只适用于您有这种不必要的依赖关系的情况 话虽如此,Maven“Shade”插件可以配置为将多个组件JAR组合成一个JAR。。。并从实际未使用的依赖JAR中删

目前我们有JavaWeb项目,我们没有使用maven。当我们创建war文件时,它的大小太大了。我想减小这个war文件的大小

我认为这么大的战争规模是因为图书馆(几乎占总数的50%)


因此,如果我们使用MAVEN,那么我们的WAR文件大小可能会减小。

使用MAVEN不一定会减小您的WAR大小。它可能会帮助您消除不再需要的可传递依赖JAR文件,但这只适用于您有这种不必要的依赖关系的情况

话虽如此,Maven“Shade”插件可以配置为将多个组件JAR组合成一个JAR。。。并从实际未使用的依赖JAR中删除类。查找shade插件的
minimizeJar
config参数

参考:



我很好奇为什么战争文件的大小是一个问题。web容器JVM将只加载webapp实际使用的类。其他类不会被加载,也不会使用大量JVM内存。当然,一个臃肿的WAR文件使用的磁盘空间比需要的要多,但在一个典型的web服务器平台上,磁盘空间很便宜。

根据我们在问题下的评论对话:


  • 扔掉无用的libs即可16小时前


  • 为什么war文件的大小对您来说是个问题?-16小时前

  • 您是否为您的集装箱罐使用“提供”范围16小时前


  • @Maksym实际上我们需要在第二周到第三周频繁更新war文件,而实际上客户端服务器位于第三到第四个位置,所以当互联网上传速度较慢时,下载需要花费大量的时间。因此,如果大小减小,那么这将很快完成–murtaza.webdev 1小时前

  • @Maksym“提供”范围编号–murtaza.webdev 1小时前
解决方案,将打赌为容器的罐子设置“提供”范围。实际上,强烈建议对容器jar使用此作用域,以便有正确的工作webapp

对于容器jar,您应该具有如下依赖关系:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>${servlet-api-version}</version>
    <scope>provided</scope>
</dependency>

javax.servlet
servlet api
${servlet api版本}
假如

扔掉无用的库就行了。为什么war文件的大小对你来说是个问题?你是否为你的容器罐使用“提供的”范围?@Maksym实际上我们需要在第二周到第三周频繁更新war文件,而实际上客户端服务器位于三四个位置,所以当互联网上传速度缓慢时,下载需要花费大量时间。因此,如果尺寸减小,那么这将完成speedily@Maksym“提供”范围编号。