第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Spring Boot jar 瘦身攻略

標(biāo)簽:
SpringBoot

我们的项目是基于Spring Boot 开发的,所以打包时用的插件也是spring-boot-maven-plugin,打包的jar直接就可以使用 nohup java -jar xxxx.jar& 运行,很方便。但问题是:jar包太大,上传很慢。所有的依赖都在这个jar包里,重点是除了我们项目自身引用的模块会改变,其余第三方的依赖只要版本定了基本都不会再改变,所以我们的目标就是将那些不变的剔除出去。
首先使用Maven-dependency-plugin插件将所有的jar包打包到指定的文件夹:


webp

maven-dependency-plugin.png

如果Maven clean install的时候没有出错,在jar包的Boot-INF 包里面会有lib文件夹(也可以指定到其他的文件夹),里面就是全部的依赖。
将lib压缩后上传的服务器指定的目录,并使用unzip 命令解压,默认解压到当前的目录(还可以使用 -d 参数解压到指定的文件夹下), ----( 此处有坑,下面有填坑的方法);
在将pom文件里面的Maven-dependency-plugin查件注释掉,只使用spring boot 的插件,并使用 <includes>将自己项目的模块包含进来,因为自己项目的模块在开发的过程中会改变。如图:


webp

spring-boot-maven-plugin.png


自己项目的模块有引用那些就都包含进来。
此时在运行 Maven clean install ,在看打不来的包会很小,因为lib文件夹下只有我们包含进来的jar包,准确的说:只有我们自己项目以及自己模块的jar包,非常的小。

将缩小后的jar包上传的服务器,如果在按照:nohup java -jar xxx .jar & 启动的话,会发现根本启动不起来,直接报错,

webp

error.png


这时候就换一种启动命令:
nohup java -Dloader.path="xxxxxx" -jar xxxx.jar &
双引号下填写的是:刚才你上传lib文件相对于当前的路径;告诉机器启动的时候去哪个地方加载额外的依赖。
按照以上方法,再次启动的时候,还是启动不成功,报的错误是:部分内容已经加载过了或者xml文件资源重复之类的错误;这时找到lib文件夹,仔细查看会发现里面有我们自己的模块的依赖,这个跟我们使用<includes>打包出来的jar里面的有重复,只要将lib 文件夹下的模块删除就ok了。

以后在启动的时候只要使用 nohup java -Dloader.path="xxxxxx" -jar xxxx.jar &  就可以了;
上面的方式适用于服务器的操作权或者部分操作权的在开发这边的,如果开发没有操作权或者运维不配合,那就还是使用fat jar 好了。



作者:HolloWord
链接:https://www.jianshu.com/p/2316e1c61650


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消