自己的项目中因为需要对视频进行截屏做预览的处理,引入了javacv-platform的包:
- <dependency>
- <groupId>org.bytedeco</groupId>
- <artifactId>javacv-platform</artifactId>
- <version>1.5.2</version>
- </dependency>
刚开始没注意,后来发现项目打包后大小竟然达到了755M,其主要原因就是javacv相关依赖包过大,所以不得不对依赖进行一下简化
javacv依赖过大的原因是直接引用 javacv-platform 会将其其他所有平台的兼容jar都拉下来
思路:1.移除所需功能外的jar 2.由于本项目只打算在Windows上运行,所以只引用Windows的支持jar
修改pom
原依赖:
- <dependency>
- <groupId>org.bytedeco</groupId>
- <artifactId>javacv-platform</artifactId>
- <version>1.5.2</version>
- </dependency>
修改后:
- <dependency>
- <groupId>org.bytedeco</groupId>
- <artifactId>javacv</artifactId>
- <version>1.5.2</version>
- </dependency>
- <dependency>
- <groupId>org.bytedeco</groupId>
- <artifactId>javacpp</artifactId>
- <version>1.5.2</version>
- </dependency>
- <dependency>
- <groupId>org.bytedeco</groupId>
- <artifactId>opencv</artifactId>
- <version>4.1.2-1.5.2</version>
- <classifier>windows-x86_64</classifier>
- </dependency>
- <dependency>
- <groupId>org.bytedeco</groupId>
- <artifactId>openblas</artifactId>
- <version>0.3.7-1.5.2</version>
- <classifier>windows-x86_64</classifier>
- </dependency>
- <dependency>
- <groupId>org.bytedeco</groupId>
- <artifactId>ffmpeg</artifactId>
- <version>4.2.1-1.5.2</version>
- <classifier>windows-x86_64</classifier>
- </dependency>
项目大小从755M成功缩减到118M,且原功能可以正常使用
联系客服