之前有幾篇文章分別講解了如何開發(fā)springcloud相關(guān)項目仪吧,今天這篇文章就來介紹一下spring boot 如何打包發(fā)布版本到最后的投產(chǎn)上線掏呼。
打jar包
springboot項目可以打成jar包或者war包碱妆,以前我們開發(fā)web項目基本都是打包成war包懈息,然后放到web容器中運行罕扎,springboot自己集成了tomcat抵屿,可以直接打包運行庆锦,不需要再單獨部署web應(yīng)用服務(wù)器,而且打jar包很容易轧葛,對于基于maven的工程搂抒。
cd 項目根目錄
mvn clean package
## 或者執(zhí)行下面的命令
## 排除測試代碼后進(jìn)行打包
mvn clean package -Dmaven.test.skip=true
如果項目test目錄下有單元測試代碼,如果沒有跳過test則必須要保證單測代碼能執(zhí)行通過尿扯,否則會一直報錯無法執(zhí)行通過求晶。
打包完成后jar包會生成到target目錄下,名稱為工程名稱+版本號衷笋,版本號在pom.xml中設(shè)置芳杏。
通過java -jar就可以啟動jar包。
java -jar jar包路徑/jar包名稱
這樣運行的壞處就是關(guān)閉窗口后右莱,進(jìn)程會停止運行蚜锨,在linux中我們可以通過nohup命令來執(zhí)行。
nohup java -jar jar包路徑/jar包名稱 &
一般生產(chǎn)項目我們都會在sprignboot中設(shè)置多個profile來區(qū)分不同環(huán)境的參數(shù)慢蜓,啟動的時候可以設(shè)置不同的profile讓,springboot啟動的時候使用不同的參數(shù)郭膛。
java -jar test.jar --spring.profiles.active=pre
生產(chǎn)運維
使用jinfo查看jvm當(dāng)前運行的情況晨抡,來查看jar 啟動后使用的是什么gc、新生代则剃、老年代分批的內(nèi)存都是多少
jinfo -flags pid
- XX:CICompilerCount :最大的并行編譯數(shù)
- XX:InitialHeapSize 和 - XX:MaxHeapSize :指定JVM的初始和最大堆內(nèi)存大小
- XX:MaxNewSize : JVM堆區(qū)域新生代內(nèi)存的最大可分配大小
- XX:+UseParallelGC :垃圾回收使用Parallel收集器
重啟應(yīng)用
ps -ef|grep java
##找到對應(yīng)sprigboot進(jìn)程的pid
kill -9 pid
## 再次重啟
Java -jar test.jar
springboot項目的運維是不是很簡單耘柱。