jar包突然过大解决方法
缘由:
项目中要需要用到视频文件,为了方便用户使用,那么页面中就需要增加视频剪辑的相关功能,让用户上传视频后能够自定义的进行剪辑,对自己的视频做出相应的更改
结果:
打jar包时发现jar包增加了将近800M! 这是什么鬼,一下子增加800M,简直乱来!
排查问题思路
-
确定打包是否真实(测试发现,自己操作打包尝试),真实~
-
回忆是否最近版本更改
pom文件, 做视频时引入<dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv-platform</artifactId> <version>1.5.5</version> </dependency> -
解压jar包,倒序排列项目中引用的jar
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GeacH6om-1666662537653)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221024154110218.png)]](https://img-blog.csdnimg.cn/314bd0f74ecb4ef9ab36a1fe65c0ba0a.png)
-
使用pom插件
Maven Helper在项目中搜索比较大的jar![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Voo6NLts-1666662537661)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221024154418719.png)]](https://img-blog.csdnimg.cn/6aec2a2d8dbc45c78b6cbdfbdd1954f2.png)
-
仔细发现该插件中引用了各个平台中的jar包, 但实际开发中并用不到这么多的jar包,所以无需引用那么多
去除无用jar

具体为什么这个改?在运行项目发现,视频剪辑报错,也就是上面提到的,多平台匹配的剪辑工具没有引入相关包,网络搜索其他方法发现,引入相关平台的包即可
更改方法:
只引入Windows 和 Linux平台视频剪辑功能,因为项目使用的也就这两个平台
如果嫌弃大的话,可以根据不同平台使用不同的
pom文件, 做出单平台适应
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>${javacpp.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>openblas-platform</artifactId>
<version>0.3.13-${javacpp.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>opencv-platform</artifactId>
<version>4.5.1-${javacpp.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>ffmpeg-platform</artifactId>
<version>4.3.2-${javacpp.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>flycapture-platform</artifactId>
<version>2.13.3.31-${javacpp.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>libdc1394-platform</artifactId>
<version>2.2.6-${javacpp.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>libfreenect-platform</artifactId>
<version>0.5.7-${javacpp.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>libfreenect2-platform</artifactId>
<version>0.2.0-${javacpp.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>librealsense-platform</artifactId>
<version>1.12.4-${javacpp.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>librealsense2-platform</artifactId>
<version>2.40.0-${javacpp.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>videoinput-platform</artifactId>
<version>0.200-${javacpp.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>artoolkitplus-platform</artifactId>
<version>2.3.1-${javacpp.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>flandmark-platform</artifactId>
<version>1.07-${javacpp.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>leptonica-platform</artifactId>
<version>1.80.0-${javacpp.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>tesseract-platform</artifactId>
<version>4.1.1-${javacpp.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>










![[SpringBoot] YAML基础语法](https://img-blog.csdnimg.cn/036a59853e7a4ad89c2b4d775759999d.png)








