SpringBoot部署

打包方式有jar包和war包

1. jar包(推薦)

jar包方式啟動(dòng)妇押,也就是使用SpringBoot內(nèi)置的tomcat運(yùn)行曲尸。服務(wù)器上面只要你配置了
jdk1.8及以上就ok,不需要外置tomcat。

SpringBoot將項(xiàng)目打包成jar包
<!--將應(yīng)用打包成一個(gè)可以執(zhí)行的jar包--> 
<build> 
  <plugins> 
  <plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId> 
   </plugin> 
</plugins> 

執(zhí)行package


image.png

target中會(huì)生成一個(gè).jar包


image.png

將jar包上傳到Linux服務(wù)器上葡公,以jar運(yùn)行
java -jar spring-boot-mytest-0.0.1-SNAPSHOT.jar

2.war包(傳統(tǒng)的部署方式:將項(xiàng)目打成war包,放入tomcat 的webapps目錄下面条霜,啟動(dòng)tomcat催什,即可訪問(wèn)。)

pom.xml配置修改

<packaging>jar</packaging> 
//修改為 
<packaging>war</packaging>

pom文件添加如些依賴

<!--最終打成war包宰睡,排除內(nèi)置的tomcat--> 
<dependency> 
<groupId>org.springframework.boot</groupId> 
<artifactId>spring-boot-starter-web</artifactId> 
<exclusions> 
<exclusion> 
<groupId>org.springframework.boot</groupId> 
<artifactId>spring-boot-starter-tomcat</artifactId> 
</exclusion> 
</exclusions> 
</dependency>

改造啟動(dòng)類

如果是war包發(fā)布蒲凶,需要增加SpringBootServletInitializer子類,并重寫其configure方法拆内, 或者將main函數(shù)所
在的類繼承SpringBootServletInitializer旋圆,
并重寫configure方法 當(dāng)時(shí)打包為war時(shí)上傳到tomcat服務(wù)器中訪問(wèn)項(xiàng)目始終報(bào)404錯(cuò)就是忽略了這個(gè)步驟!t锘小灵巧!

改造前

@SpringBootApplication 
public class MainApp { 
public static void main(String[] args) { 
SpringApplication.run(MainApp.class,args); 
} 
}

改造后

@SpringBootApplication 
public class SpringBootMytestApplication extends 
SpringBootServletInitializer { 
public static void main(String[] args) { 
SpringApplication.run(SpringBootMytestApplication.class, args); 
}
@Override 
protected SpringApplicationBuilder configure(SpringApplicationBuilder 
builder) {
// 注意這里要指向原先用main方法執(zhí)行的Application啟動(dòng)類 
return builder.sources(SpringBootMytestApplication.class); 
} 

package,可以看到變成了war包


image.png

使用外部Tomcat運(yùn)行該 war 文件(把 war 文件直接丟到 tomcat的webapps目錄抹沪,啟動(dòng)tomcat)
注意:

將項(xiàng)目打成war包刻肄,部署到外部的tomcat中,這個(gè)時(shí)候融欧,不能直接訪問(wèn)spring boot 項(xiàng)目中
配置文件配置的端口敏弃。application.yml中配置的server.port配置的是spring boot內(nèi)置的
tomcat的端口號(hào), 打成war包部署在獨(dú)立的tomcat上之后, 配置的server.port是不起作用的

3.jar包和war包方式對(duì)比

1.SpringBoot項(xiàng)目打包時(shí)能打成 jar 與 war包,對(duì)比兩種打包方式:
jar更加簡(jiǎn)單方便噪馏,使用 java -jar xx.jar 就可以啟動(dòng)麦到。所以打成 jar 包的最多。
而 war包可以部署到tomcat的 webapps 中欠肾,隨Tomcat的啟動(dòng)而啟動(dòng)瓶颠。具體使用哪種方
式,應(yīng)視應(yīng)用場(chǎng)景而定董济。

2步清、打jar包時(shí)不會(huì)把src/main/webapp 下的內(nèi)容打到j(luò)ar包里 (你認(rèn)為的打到j(luò)ar包里面,路徑是不
行的會(huì)報(bào)404)
打war包時(shí)會(huì)把src/main/webapp 下的內(nèi)容打到war包里

3.打成什么文件包進(jìn)行部署與項(xiàng)目業(yè)務(wù)有關(guān)虏肾,就像提供 rest 服務(wù)的項(xiàng)目需要打包成 jar文件廓啊,用命
令運(yùn)行很方便。封豪。谴轮。而有大量css、js吹埠、html第步,且需要經(jīng)常改動(dòng)的項(xiàng)目疮装,打成 war 包去運(yùn)行比較方
便,因?yàn)楦膭?dòng)靜態(tài)資源可以直接覆蓋粘都,很快看到改動(dòng)后的效果廓推,這是 jar 包不能比的
(舉個(gè)‘栗’子:項(xiàng)目打成 jar 包運(yùn)行,一段時(shí)間后翩隧,前端要對(duì)其中某幾個(gè)頁(yè)面樣式進(jìn)行改動(dòng)樊展,使其
更美觀,那么改動(dòng)幾個(gè)css堆生、html后专缠,需要重新打成一個(gè)新的 jar 包,上傳服務(wù)器并運(yùn)行淑仆,這種改
動(dòng)頻繁時(shí)很不友好涝婉,文件大時(shí)上傳服務(wù)器很耗時(shí),那么 war包就能免去這種煩惱蔗怠,只要覆蓋幾個(gè)
css與html即可)

4 多環(huán)境部署

@profile 注解的作用是指定類或方法在特定的 Profile 環(huán)境生效墩弯,任何 @Component 或 @Configuration 注解的類都可以使用 @Profile 注解。在使用DI來(lái)依賴注入的時(shí)候蟀淮,能夠根據(jù)@profile 標(biāo)明的環(huán)境最住,將注入符合當(dāng)前運(yùn)行環(huán)境的相應(yīng)的bean。(可修飾類怠惶,方法涨缚,注解)
使用要求:
@Component 或 @Configuration 注解的類可以使用 @profile @Profile 中需要指定一個(gè)字符串,約定生效的環(huán)境

(1)配置文件方式激活profile
確定當(dāng)前使用的是哪個(gè)環(huán)境策治,這邊環(huán)境的值與application-prod.properties中-后面的值對(duì)應(yīng)脓魏,這
是SpringBoot約定好的。
在resources/application.properties中添加下面的配置通惫。需要注意的是茂翔,spring.profiles.active的
取值應(yīng)該與 @Profile 注解中的標(biāo)示保持一致。

spring.profiles.active=dev

(2)命令行方式激活profile
在打包后運(yùn)行的時(shí)候履腋,添加參數(shù):
java -jar spring-boot-config-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev珊燎;

多Profile的資源文件

假設(shè),一個(gè)應(yīng)用的工作環(huán)境有:dev遵湖、test悔政、prod
那么,我們可以添加 4 個(gè)配置文件:
applcation.properties - 公共配置
application-dev.properties - 開發(fā)環(huán)境配置
application-test.properties - 測(cè)試環(huán)境配置
application-prod.properties - 生產(chǎn)環(huán)境配置

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末延旧,一起剝皮案震驚了整個(gè)濱河市谋国,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌迁沫,老刑警劉巖芦瘾,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捌蚊,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡近弟,警方通過(guò)查閱死者的電腦和手機(jī)缅糟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)藐吮,“玉大人溺拱,你說(shuō)我怎么就攤上這事逃贝∫ゴ牵” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵沐扳,是天一觀的道長(zhǎng)泥从。 經(jīng)常有香客問(wèn)我,道長(zhǎng)沪摄,這世上最難降的妖魔是什么躯嫉? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮杨拐,結(jié)果婚禮上祈餐,老公的妹妹穿的比我還像新娘。我一直安慰自己哄陶,他們只是感情好帆阳,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著屋吨,像睡著了一般蜒谤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上至扰,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天鳍徽,我揣著相機(jī)與錄音,去河邊找鬼敢课。 笑死阶祭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的直秆。 我是一名探鬼主播濒募,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼切厘!你這毒婦竟也來(lái)了萨咳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤疫稿,失蹤者是張志新(化名)和其女友劉穎培他,沒(méi)想到半個(gè)月后鹃两,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡舀凛,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年俊扳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片猛遍。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡馋记,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出懊烤,到底是詐尸還是另有隱情梯醒,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布腌紧,位于F島的核電站茸习,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏壁肋。R本人自食惡果不足惜号胚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望浸遗。 院中可真熱鬧猫胁,春花似錦、人聲如沸跛锌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)察净。三九已至驾茴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間氢卡,已是汗流浹背锈至。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留译秦,地道東北人峡捡。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像筑悴,于是被迫代替她去往敵國(guó)和親们拙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1阁吝、打成jar包 1.在pom.xml中引入springboot的插件: 2.maven中package 3.在項(xiàng)...
    NgNono閱讀 2,622評(píng)論 0 0
  • 有時(shí)間一些需求砚婆,需要我們把springboot項(xiàng)目jar包的形式改為war包的形式,在獨(dú)立的tomcat中部署項(xiàng)目...
    lconcise閱讀 1,419評(píng)論 0 0
  • Tomcat的bin文件夾startup.bat啟動(dòng)需要設(shè)置JAVA_HOME環(huán)境變量 1突勇、gradle添加依賴 ...
    宋song一閱讀 130評(píng)論 0 0
  • springboot的部署測(cè)試監(jiān)控 部署 基于maven 打包 JAR 打包方式一般采用的jar包装盯,使用sprin...
    李福春carter閱讀 369評(píng)論 0 0
  • 推薦指數(shù): 6.0 書籍主旨關(guān)鍵詞:特權(quán)坷虑、焦點(diǎn)、注意力埂奈、語(yǔ)言聯(lián)想迄损、情景聯(lián)想 觀點(diǎn): 1.統(tǒng)計(jì)學(xué)現(xiàn)在叫數(shù)據(jù)分析,社會(huì)...
    Jenaral閱讀 5,721評(píng)論 0 5