美文网首页
Springboot打包瘦身 优化包体大小

Springboot打包瘦身 优化包体大小

作者: Buckler | 来源:发表于2023-03-10 14:25 被阅读0次

再了解打包瘦身优化之前,我理解的是纯压缩代码,减小包体大小,结果其实并不是,具体情况如下:

其实瘦身就是把自己的代码和引用的库分离开,假如包体不瘦身,那么jar包有10M,那么瘦身后就是jar包20k,lib文件夹9.8M

如何瘦身:
pom.xml

<build>
       <plugins>
           <plugin>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-maven-plugin</artifactId>
               <configuration>
                   ...
                   <!-- 解决windows命令行窗口中文乱码 -->
                   <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
                   <layout>ZIP</layout>
                   <!-- 配置需要打包进项目的jar -->
                   <includes>
                       <!--
                            这里是填写需要包含进去的jar
                            必须项目中的某些某块,会经常变动,那么就应该将其坐标写进来
                            如果没有则non-exists,表示不打包依赖
                       -->
                       <include>
                           <groupId>non-exists</groupId>
                           <artifactId>non-exists</artifactId>
                       </include>
                   </includes>
               </configuration>
               <executions>
                   <execution>
                       <id>repackage</id>
                       <goals>
                           <goal>repackage</goal>
                       </goals>
                   </execution>
               </executions>
           </plugin>

           <!-- 此插件用于将依赖包抽出 -->
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-dependency-plugin</artifactId>
               <version>3.1.2</version>
               <executions>
                   <execution>
                       <id>copy-dependencies</id>
                       <phase>package</phase>
                       <goals>
                           <goal>copy-dependencies</goal>
                       </goals>
                       <configuration>
                           <outputDirectory>${project.build.directory}/lib</outputDirectory>
                           <!-- 是否排除传递性 -->
                           <excludeTransitive>false</excludeTransitive>
                           <!-- 是否去掉jar包版本信息 -->
                           <stripVersion>false</stripVersion>
                           <!-- 包含范围 -->
                           <includeScope>runtime</includeScope>
                       </configuration>
                   </execution>
               </executions>
           </plugin>
       </plugins>
   </build>

配置好了pom.xml后,我该如何启动?

java -jar -Dloader.path=./lib [jarname].jar

linux服务器自带nohup后台启动

nohup java -jar -Dloader.path=./lib [jarname].jar

新版宝塔现在对java项目变得非常友好了,可以直接部署springboot,那么在宝塔里的启动脚本如下:

/usr/bin/java -jar -Dloader.path=./lib -Xmx1024M -Xms256M  /www/wwwroot/[jarname].jar --server.port=8080

如上配置好后,未来修改代码再上传的话只需要上传20k的jar包即可!

相关文章

网友评论

      本文标题:Springboot打包瘦身 优化包体大小

      本文链接:https://www.haomeiwen.com/subject/mpvaldtx.html