精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

怎么使用springboot打包插件去除jar包瘦身

這篇文章主要介紹“怎么使用springboot打包插件去除jar包瘦身”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“怎么使用springboot打包插件去除jar包瘦身”文章能幫助大家解決問題。

成都創新互聯-專業網站定制、快速模板網站建設、高性價比北屯網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式北屯網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋北屯地區。費用合理售后完善,十年實體公司更值得信賴。

1、pom文件配置

1.1 添加maven-dependency-plugin插件用于將引用的jar包拷貝到指定的路徑

便于后續tomcat啟動指定依賴包路徑



    org.apache.maven.plugins
    maven-dependency-plugin
    
        
            copy
            package
            
                copy-dependencies
            
                            
                
                    ${project.build.directory}/lib
                
            
        
    

使用這個插件構建完之后的目錄結構多了一個lib目錄(即上述配置的outputDirectory指定的路徑),里面是依賴的jar包:

怎么使用springboot打包插件去除jar包瘦身

怎么使用springboot打包插件去除jar包瘦身

1.2 springboot項目使用spring-boot-maven-plugin打包插件


    org.springframework.boot
    spring-boot-maven-plugin
    
        true
     ZIP
        
            com.iasp.BasicStarter
        
        
        
            
                ${groupId}
                ${artifactId}
            
         
           
             
        
        
        
            
            
            
        
    

    
        
            
                repackage
            
        
    

配置上述打包之后就會排除相應的jar包,使得由插件打成的Flat jar包大小變小,便于上傳服務器發布,效果如下,BOOT-INF目錄下的lib目錄沒有了:

怎么使用springboot打包插件去除jar包瘦身

原先打成的jar包里的結構為

怎么使用springboot打包插件去除jar包瘦身

然后在啟動項目時指定jar包路徑-Dloader.path="../lib",這樣就可以達到瘦身效果了,其中依賴放在D:develop/shared/fjar目錄下,執行運行命令

java -Dloader.path="D:develop/shared/fjar" -jar mytest.jar

附注:另外一種啟動方案是可以不加-Dloader.path="D:develop/shared/fjar"來指定路徑,直接使用如下指令啟動

java -jar mytest.jar

使用上述啟動的話需要添加maven-jar-plugin插件,配置屬性,另外在處理一些讀取可執行jar中的文件時,可以使用maven-jar-plugin插件替換spring-boot-maven-plugin進行打包操作


    org.apache.maven.plugins
    maven-jar-plugin
    
        
            
                
                true
                
                lib/
                com.common.util.CommonUtilsApplication
            
        
    

上述插件效果就是在打成的包里META_INF目錄下的MANIFEST.MF文件里增加Class-path對應jar,這樣在后面應用剛啟動時就會根據Class-Path的只去加載需要的版本依賴(解決在共享目錄里存在多版本加載引用沖突問題),這個效果就等效加參數-classpath xxx(具體的jar)。

此時就是將需要的jar目錄lib放在和要運行的xxx.jar同級目錄即可,啟動時就可以不加-Dloader.path參數了,如果lib目錄和要運行的xxx.jar不在同級目錄的話,則需要使用-Dloader.path來啟動

怎么使用springboot打包插件去除jar包瘦身

如下:在同一級目錄啟動

怎么使用springboot打包插件去除jar包瘦身

不在同一級目錄啟動:

怎么使用springboot打包插件去除jar包瘦身

其中-Dloader.path可以指定多個目錄,這樣在存在多個微服務情況下可將一些公共用到的jar放在一個共享目錄中,每個微服務獨有的jar可以放在微服務私有的目錄下(解決jar版本沖突問題),示例如下:

怎么使用springboot打包插件去除jar包瘦身

注意:

1、使用-Dloader.path需要在打包的時候增加ZIP,不指定的話-Dloader.path不生效

對于多個微服務瘦身打包建議使用maven-jar-plugin打包,避免因為spring-boot-maven-plugin打包機制導致的一些應用啟動問題(已踩坑)

2、若存在不同版本依賴:

比如項目A依賴Y庫的1.0版本,項目B依賴Y庫的2.0版本,那么可能會出現版本依賴沖突(兩個版本不兼容的情況下),解決方案:

2.1、能做到版本一致就保持使用同一個版本,保證版本一致。可以使用maven的版本依賴管理進行處理,即在父pom文件使用統一管理依賴版本

2.2、讓項目各自依賴所需的版本并打進war包中,把其他同版本的jar包放在同一個共享包下

測試發現依賴在查找時從上往下找,匹配到就用第一個,如下圖會使用comm-0.0.1.jar版本的

怎么使用springboot打包插件去除jar包瘦身

附注:

使用spring-boot-maven-plugin插件,會將依賴的jar包全部打包進去,這樣就可以直接運行生成的 JAR 包,簡化了我們開發操作。

使用spring-boot-maven-plugin插件如果不指定程序主運行入口類的話默認為Main-Class: org.springframework.boot.loader.JarLauncher

怎么使用springboot打包插件去除jar包瘦身

這個可以自定義執行主入口類,有以下幾種方式:

1.POM繼承spring-boot-starter-parent


        org.springframework.boot
        spring-boot-starter-parent
        2.1.9.RELEASE
         
    

        
        ccom.notes.JavaNotesApplication

2.POM不是繼承spring-boot-starter-parent時需指定


  org.springframework.boot
  spring-boot-maven-plugin
  2.1.9.RELEASE
  
    com.notes.JavaNotesApplication
    ZIP
  
  
    
      
        repackage
      
    
  

3.POM不是繼承spring-boot-starter-paren,且使用maven-jar-plugin插件來指定執行的類


   org.springframework.boot
   spring-boot-maven-plugin


   org.apache.maven.plugins
   maven-jar-plugin
   
      
         
            true
            false
            lib/
            com.notes.JavaNotesApplication
         
         
            ${project.version}
         
      
   

關于“怎么使用springboot打包插件去除jar包瘦身”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注創新互聯行業資訊頻道,小編每天都會為大家更新不同的知識點。


本文名稱:怎么使用springboot打包插件去除jar包瘦身
轉載注明:http://m.jcarcd.cn/article/jhhgip.html
主站蜘蛛池模板: 破女全过程完整版 | 日韩字幕欧美 | 韩国床戏激情戏裸戏 | 国产自产在线 | 日韩高清乱码在 | 欧美三级在线观看黄 | 日本乱理伦片在 | 日韩视频在线观看 | 乱码一区二区三区 | 国产精品视频免费 | 午夜久在线播放91 | 日产精品一 | 国产伦一区二区三 | 国产91免费不| 国产极品视频 | 最新在线观看视频国产91 | 午夜看片a福利在线 | 国产日韩综 | 国产精品极 | 91玉足大片 | 91九色露脸 | 国产理论在线观看 | 午夜人成影视免费 | 精品国产亚 | 国产未满岁18在线 | 91秘入口| 日韩免费网站 | 欧美日韩一区四区 | 日韩经典欧美 | 中文字幕视频区 | 国产视频在 | 强伦中文字幕在线 | 国产区福利导航 | 日本高清中字 | 成人福利精品在线 | 国产一区免费 | 国产手机在线播放 | 国产自产25区 | 国产日韩精品视频 | 国产大片91 | www.色五天|