Springboot打包瘦身 優(yōu)化包體大小

再了解打包瘦身優(yōu)化之前,我理解的是純壓縮代碼,減小包體大小,結(jié)果其實并不是,具體情況如下:

其實瘦身就是把自己的代碼和引用的庫分離開,假如包體不瘦身,那么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>
                   <!-- 配置需要打包進(jìn)項目的jar -->
                   <includes>
                       <!--
                            這里是填寫需要包含進(jìn)去的jar
                            必須項目中的某些某塊,會經(jīng)常變動,那么就應(yīng)該將其坐標(biāo)寫進(jìn)來
                            如果沒有則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服務(wù)器自帶nohup后臺啟動

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

新版寶塔現(xiàn)在對java項目變得非常友好了,可以直接部署springboot,那么在寶塔里的啟動腳本如下:

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

如上配置好后,未來修改代碼再上傳的話只需要上傳20k的jar包即可!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容