springboot項目以jar包運(yùn)行的操作方法
Spring Boot 是由 Pivotal 團(tuán)隊提供的全新框架,其設(shè)計目的是用來簡化新 Spring 應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置。用我的話來理解,就是 Spring Boot 其實不是什么新的框架,它默認(rèn)配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。
公司的springboot項目本來是打war包的,突然要求改成jar包,一路上碰到一些坑,在此記錄一下。
一、pom文件配置1、打包方式改成jar
<packaging>jar</packaging>
2、配置可執(zhí)行jar包的maven插件
<build><plugins> <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><!-- 如果有依賴外部jar,則必須加上此配置includeSystemScope--><configuration> <includeSystemScope>true</includeSystemScope></configuration> </plugin></plugins> </build>
3、引入外部jar依賴(可選)
如果項目中引入了外部jar,可在項目根目錄創(chuàng)建lib文件夾,將jar包放入lib中:
然后在pom文件中引入jar包:
PS:如果項目以war的形式打包,并且引入了外部jar,則maven插件的配置如下
<build><plugins> <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>2.6</version><configuration> <webResources><resource> <directory>${project.basedir}/lib</directory> <targetPath>WEB-INF/lib</targetPath> <includes><include>**/*.jar</include> </includes></resource> </webResources></configuration> </plugin></plugins> </build>二、打包運(yùn)行
1、打包
打包命令,很簡單:
mvn install
2、運(yùn)行
在生產(chǎn)和測試環(huán)境,一般都需要保持進(jìn)程一直在后臺運(yùn)行,斷開終端也不中斷,則需要執(zhí)行以下命令:
nohup java -jar test.jar &>>log.out & 三、配置文件優(yōu)先級
spring boot會按以下順序去尋找配置文件:
1、“當(dāng)前目錄”的/config文件夾下
2、“當(dāng)前目錄”下
3、classpath的/config文件夾下
4、classpath下
注意事項:
當(dāng)前目錄指的是執(zhí)行java命令所在目錄,如果是通過shell腳本執(zhí)行的java命令,則當(dāng)前目錄指shell腳本所在目錄,如果在shell腳本中cd到某一目錄再執(zhí)行的java命令,則當(dāng)前目錄就指cd后的目錄。 不同優(yōu)先級的配置文件都能被讀到,但相同的配置項,優(yōu)先級高的配置文件的配置會覆蓋優(yōu)先級低的配置文件的配置。 jar包內(nèi)的配置文件不方便修改,生產(chǎn)上我們一般會將配置文件放在jar包外。生產(chǎn)上可以直接將配置文件放在jar包所在目錄同級的config目錄,然后在腳本中cd到j(luò)ar包所在目錄,執(zhí)行java命令就可以讀到配置文件啦。
參考:https://www.jb51.net/article/216285.htm
到此這篇關(guān)于springboot項目以jar包運(yùn)行的操作方法的文章就介紹到這了,更多相關(guān)springboot jar包內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Ajax引擎 ajax請求步驟詳細(xì)代碼2. JS語法也可以有C#的switch表達(dá)式3. JSP實時顯示當(dāng)前系統(tǒng)時間的四種方式示例解析4. python 利用toapi庫自動生成api5. 多級聯(lián)動下拉選擇框,動態(tài)獲取下一級6. 詳解Struts2中對未登錄jsp頁面實現(xiàn)攔截功能7. 老生常談.NET中的 COM 組件8. CSS3+Js實現(xiàn)響應(yīng)式導(dǎo)航條9. CSS3實例分享之多重背景的實現(xiàn)(Multiple backgrounds)10. ASP.NET MVC前臺動態(tài)添加文本框并在后臺使用FormCollection接收值
