思路,将依赖的第三方jar包,移到启动jar包个面
外部加载 jar 包
SpringBoot Jar 包太大 瘦身 【初试】简单应用
SpringBoot Jar 包太大 瘦身 【终极版】,建议使用这种方式,如果是docker,通过映射的方式,不要将 lib 打到镜像里面
1.导出 依赖的 jar 包
可以通过解压工具,对 jar 进行解压,复制出 lib 下的依赖jar 包,或者用 maven 命令复制,如下:
mvn dependency:copy-dependencies -DoutputDirectory=D:\OpenSource\Netty\VipIM\lib -DincludeScope=runtime
修改POM 去除依赖,重新打包
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <layout>ZIP</layout> <includes> <!--先去除所有的jar包--> <include> <groupId>nothing</groupId> <artifactId>nothing</artifactId> </include> <!--将需要的JAR包保留,如:项目中的 Base 模块等--> <include> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> </include> </includes> </configuration> </plugin> </plugins> </build>
运行:通过 loader.path 加载 lib 下的依赖jar
$ java -Dloader.path=D:\OpenSource\Netty\VipIM\lib -jar ./nacos-im-server-1.0.jar