springboot 减少部署 jar 包大小

springboot 可运行 jar 包用压缩软件打开目录结构如下 :

xxx.jar
├─ BOOT-INF
│  ├── classes
│  └── lib
│      ├── xxx1.jar
│      ├── xxx2.jar
│      └── ...
├── META-INF
└── org

可以看到其中占用较大的就是 xxx.jar/BOOT-INF/lib 下的 jar 包。

进入 pom.xml 目录,执行 mvn clean install,用压缩工具打开 target 目录下面的 xxx.jar,复制 lib 目录到服务器的一个自建文件夹。

复制 lib 目录也可以在 pom.xml 目录执行以下命令把依赖的 jar 包复制到对应的目录中 :

mvn dependency:copy-dependencies -DoutputDirectory=F:\Maven\lib -DincludeScope=runtime

修改 pom.xml 中的打包插件配置为 :

            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    com.tn.AdminApplication
                    ZIP
                    
                        
                            nothing
                            nothing
                        
                    
                
                
                    
                        
                            
                                repackage
                            
                        
                    
                
            

其中 mainClass 配置改为对应的 springboot 启动类配置,然后打包,把打出来的 jar 包上传到服务器。

服务器运行 jar 包的命令为 :

nohup java -Dloader.path=/path/lib -jar xxx.jar &

启动命令里面的 /path/lib 为前面的 lib 存储目录,xxx.jar 为上传的 jar 包名称。

这样每次上传的文件就会小很多,只有在 maven 依赖发生改变的时候重新处理一下 jar 包目录就好。

ps 注意 : 由于大多数的项目都是 maven 父子项目,经常会依赖类似于 common 模块,如果 common 模块里面的代码发生改变,需要从新上传该模块的 jar 包。

你可能感兴趣的:(springboot)