最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot實(shí)現(xiàn)動(dòng)態(tài)配置及項(xiàng)目打包部署上線功能

 更新時(shí)間:2022年10月08日 10:03:46   作者:微楓Micromaple  
本文講解的是如何使用Spring動(dòng)態(tài)配置文件,實(shí)現(xiàn)不同環(huán)境不同配置,靈活切換配置文件;以及講述了如何使用?Maven?打包,然后上傳至Linux服務(wù)器進(jìn)行部署,對(duì)SpringBoot打包部署上線過(guò)程感興趣的朋友一起看看吧

寫(xiě)在前面

本文講解的是如何使用Spring動(dòng)態(tài)配置文件,實(shí)現(xiàn)不同環(huán)境不同配置,靈活切換配置文件;以及講述了如何使用 Maven 打包,然后上傳至Linux服務(wù)器進(jìn)行部署。(PS:如果你是新手,可以跟著系列專(zhuān)欄的框架搭建先動(dòng)手把項(xiàng)目搭建起來(lái),然后在結(jié)合本期內(nèi)容繼續(xù)深入學(xué)習(xí),這樣會(huì)有更好的效果。)

一、動(dòng)態(tài)配置文件

在這里插入圖片描述

在定制鏡像前,我們需要了解Spring動(dòng)態(tài)指定配置文件的方式,來(lái)提高我們的部署效率。

1.1、概述

在實(shí)際企業(yè)開(kāi)發(fā)中,開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境生產(chǎn)環(huán)境通常采用不同的數(shù)據(jù)庫(kù)等中間件的連接方式。如果此時(shí)我們按照目前的方式,只有一個(gè)application.yml配置文件,那么我們?cè)诓煌h(huán)境下啟動(dòng)項(xiàng)目,都需要更改配置文件中的各種連接信息,雖然目前我們需要更改的連接地址少,但是每次去手動(dòng)的更改這些信息,人工改的話是非常容易改錯(cuò)的。

Spring 提供了可以指定配置文件啟動(dòng)的方式,這樣使得我們可以靈活的切換配置文件。

目前項(xiàng)目中也使用了這個(gè)指定配置文件的方式,只不過(guò)是在配置文件中指定的。代碼如下圖:

在這里插入圖片描述

我們要做的是,在啟動(dòng)的時(shí)候指定。我們需要復(fù)制配置文件application.ymlapplication-druid.yml,命名為application-prod.ymlapplication-druid-prod.yml,用來(lái)區(qū)分開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境,多個(gè)環(huán)境同理。

不指定配置文件,默認(rèn)讀取application.yml,我們開(kāi)發(fā)的時(shí)候,可以直接啟動(dòng)項(xiàng)目。我們也可以分出一個(gè)dev的配置,這個(gè)看個(gè)人開(kāi)發(fā)習(xí)慣。

1.2、啟動(dòng)方式

1.2.1、jar包啟動(dòng)

在區(qū)分出了生產(chǎn)環(huán)境的配置后,我們通過(guò)jar包方式啟動(dòng)項(xiàng)目的時(shí)候,增加參數(shù)指定,可以在啟動(dòng)項(xiàng)目的時(shí)候,指定配置文件。代碼如下:

java -jar xxx.jar --spring.profiles.active=prod,druid-prod

注意:

指定多個(gè)配置文件,使用,號(hào)分割。

啟動(dòng)項(xiàng)目的時(shí)候指定了配置文件,在yml中配置的 spring.profiles.active 會(huì)失效

1.2.2、IDEA啟動(dòng)配置

  • 在 IDEA 中配置profiles是非常簡(jiǎn)單的。
  • 點(diǎn)擊 IDEA 上方菜單Run
  • 選擇Edit Configurations...
  • 選擇Spring Boot下的 MyProjectServerApplication
  • 找到Active profiles輸入框,輸入需要指定的配置文件后綴。例如:prod,druid-prod
  • 點(diǎn)擊OK即可。

如下圖:

在這里插入圖片描述

在這里插入圖片描述

配置好后,使用IDEA啟動(dòng)項(xiàng)目,就會(huì)自動(dòng)指定配置文件了。不需要的時(shí)候,直接刪掉保存就可以了。

二、項(xiàng)目打包

我們?cè)谏a(chǎn)環(huán)境運(yùn)行的時(shí)候,是使用jar的方式啟動(dòng)的。這里就需要我們將我們的項(xiàng)目打成jar,然后把項(xiàng)目運(yùn)行起來(lái)。

項(xiàng)目結(jié)構(gòu)如下:

模塊用途
my-project-dependencies統(tǒng)一的依賴管理
my-project-common通用模塊
my-project-generator代碼生成器
my-project-server項(xiàng)目服務(wù)模塊

本次構(gòu)建的項(xiàng)目服務(wù)模塊my-project-server依賴my-project-dependenciesmy-project-common。所以需要先把這兩個(gè)模塊install安裝到本地,以便my-project-server打包的時(shí)候,可以依賴到這兩個(gè)模塊。

項(xiàng)目打包的方式有多種,這里就簡(jiǎn)單介紹常用的兩種方式。

2.1、IDEA打包

IDEA 打包方法:

  • 點(diǎn)擊右側(cè)Maven菜單
  • 雙擊打開(kāi)要操作的模塊
  • 點(diǎn)擊Lifecyle
  • 雙擊需要進(jìn)行的操作。例如:clean、install、package

如下圖:

在這里插入圖片描述

步驟:

  • install安裝my-project-dependencies
  • install安裝my-project-common
  • package打包my-project-server

2.2、Maven命令打包

步驟還是跟上個(gè)方式的步驟一致,不一樣的是使用Maven命令,這里借助bat的方式,一次完成。

在模塊同濟(jì)目錄下創(chuàng)建一個(gè)bin目錄后,創(chuàng)建批處理文件package.bat。代碼如下:

cd ..
cd my-project-dependencies
call mvn install

cd ..
cd my-project-common
call mvn clean install -Dmaven.test.skip=true

cd ..
cd my-project-server
call mvn clean package -Dmaven.test.skip=true

cd ..

打包時(shí),只需要執(zhí)行bin目錄下的package.bat文件即可完成打包。

-Dmaven.test.skip=true 意思為跳過(guò)測(cè)試。項(xiàng)目打包過(guò)程中,會(huì)執(zhí)行我們編寫(xiě)的測(cè)試類(lèi)。我們?cè)谌粘m?xiàng)目開(kāi)發(fā)過(guò)程中,或多或少會(huì)寫(xiě)測(cè)試類(lèi),這個(gè)參數(shù)就可以在打包的時(shí)候,跳過(guò)測(cè)試類(lèi)的執(zhí)行。

三、項(xiàng)目部署

打包完成后,會(huì)在項(xiàng)目的target目錄下生成一個(gè)項(xiàng)目的jar包,這個(gè)就是我們最終運(yùn)行的程序了。如圖所示:

在這里插入圖片描述

3.1、安裝環(huán)境

打包完成后,我們會(huì)將程序上傳至服務(wù)器進(jìn)行運(yùn)行,服務(wù)器需要安裝Java運(yùn)行環(huán)境。

1)、下載

下載地址:

https://www.oracle.com/java/technologies/downloads/#java8

找到Linux版本進(jìn)行下載,可能需要登錄,登錄下載即可。

在這里插入圖片描述

2)、創(chuàng)建目錄

mkdir -p /usr/local/java

3)、上傳文件至該目錄

在這里插入圖片描述

$ ls -al
total 144704
drwxr-xr-x  2 root root      4096 Oct  5 15:19 ./
drwxr-xr-x 14 root root      4096 Oct  5 15:18 ../
-rw-r--r--  1 root root 148162542 Oct  5 15:19 jdk-8u341-linux-x64.tar.gz

4)、解壓縮

tar -zxvf jdk-8u341-linux-x64.tar.gz

5)、配置系統(tǒng)變量

vim /etc/environment

添加如下語(yǔ)句

export JAVA_HOME=/usr/local/java/jdk1.8.0_341
export JRE_HOME=/usr/local/java/jdk1.8.0_341/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

6)、配置用戶環(huán)境變量

vim /etc/profile

添加如下語(yǔ)句

export JAVA_HOME=/usr/local/java/jdk1.8.0_341
export JRE_HOME=/usr/local/java/jdk1.8.0_341/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

環(huán)境變量生效

source /etc/profile

7)、測(cè)試

$ java -version
java version "1.8.0_341"
Java(TM) SE Runtime Environment (build 1.8.0_341-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.341-b10, mixed mode)

出現(xiàn)正常的版本號(hào),說(shuō)明安裝成功啦~

3.2、項(xiàng)目啟動(dòng)

創(chuàng)建目錄

mkdir -p /usr/local/apps/my-project

將之前項(xiàng)目打包的jar包上傳至該目錄

在這里插入圖片描述

啟動(dòng)項(xiàng)目有多種方式

前臺(tái)啟動(dòng)一,這種方式啟動(dòng),會(huì)在窗口上輸出啟動(dòng)日志,如果關(guān)閉窗口或者Ctrl+C,會(huì)終止程序。

java -jar my-project-server-1.0.0-SNAPSHOT.jar

前臺(tái)啟動(dòng)二,這種方式啟動(dòng),也會(huì)在窗口上輸出啟動(dòng)日志,如果Ctrl+C,程序依然正常運(yùn)行。

java -jar my-project-server-1.0.0-SNAPSHOT.jar &

后臺(tái)啟動(dòng),這種方式,不會(huì)再窗口上輸出啟動(dòng)日志,如果關(guān)閉窗口程序依然正常運(yùn)行。推薦

nohup java -jar my-project-server-1.0.0-SNAPSHOT.jar &

3.3、最終效果

啟動(dòng)后,訪問(wèn)http://IP:8899/sys-user/get/all,即可訪問(wèn)查詢所有用戶接口

在這里插入圖片描述

到此這篇關(guān)于SpringBoot實(shí)現(xiàn)動(dòng)態(tài)配置及項(xiàng)目打包部署上線的文章就介紹到這了,更多相關(guān)SpringBoot打包部署上線內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java源碼解析HashMap的resize函數(shù)

    Java源碼解析HashMap的resize函數(shù)

    今天小編就為大家分享一篇關(guān)于Java源碼解析HashMap的resize函數(shù),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • grails不能運(yùn)行fork模式解決方法

    grails不能運(yùn)行fork模式解決方法

    這篇文章主要介紹了如何解決grails2.3.2中不能運(yùn)行fork模式的異常,大家參考使用吧
    2013-11-11
  • Springboot使用kafka的兩種方式

    Springboot使用kafka的兩種方式

    在公司用kafka比較多,今天整理下Springboot使用kafka的兩種方式,Kafka作為一個(gè)消息發(fā)布訂閱系統(tǒng),就包括消息生成者和消息消費(fèi)者,文中通過(guò)代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-11-11
  • Drools Fusion(CEP)定義及使用方法講解

    Drools Fusion(CEP)定義及使用方法講解

    今天小編就為大家分享一篇關(guān)于Drools Fusion(CEP)定義及使用方法講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • 微信跳一跳輔助Java代碼實(shí)現(xiàn)

    微信跳一跳輔助Java代碼實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了微信跳一跳輔助的Java代碼實(shí)現(xiàn)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • MyBatis使用動(dòng)態(tài)表或列代碼解析

    MyBatis使用動(dòng)態(tài)表或列代碼解析

    這篇文章主要介紹了MyBatis使用動(dòng)態(tài)表或列代碼解析,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • 解析Java中的定時(shí)器及使用定時(shí)器制作彈彈球游戲的示例

    解析Java中的定時(shí)器及使用定時(shí)器制作彈彈球游戲的示例

    這篇文章主要介紹了Java中的定時(shí)器及使用定時(shí)器制作彈彈球游戲的示例,文中同時(shí)也分析了定時(shí)器timer的缺點(diǎn)及相關(guān)替代方案,需要的朋友可以參考下
    2016-02-02
  • SpringBoot升級(jí)到2.7.18后不兼容的地方及解決

    SpringBoot升級(jí)到2.7.18后不兼容的地方及解決

    這篇文章主要介紹了SpringBoot升級(jí)到2.7.18后不兼容的地方及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • IDEA2019.2.2配置Maven3.6.2打開(kāi)出現(xiàn)Unable to import Maven project

    IDEA2019.2.2配置Maven3.6.2打開(kāi)出現(xiàn)Unable to import Maven project

    這篇文章主要介紹了IDEA2019.2.2配置Maven3.6.2打開(kāi)出現(xiàn)Unable to import Maven project,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Java實(shí)現(xiàn)簡(jiǎn)單的銀行管理系統(tǒng)的示例代碼

    Java實(shí)現(xiàn)簡(jiǎn)單的銀行管理系統(tǒng)的示例代碼

    這篇文章主要介紹了如何利用Java實(shí)現(xiàn)簡(jiǎn)單的銀行管理系統(tǒng),可以實(shí)現(xiàn)存款,取款,查詢等功能,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-09-09

最新評(píng)論

化州市| 平定县| 图木舒克市| 北宁市| 元谋县| 珠海市| 湖州市| 彭山县| 茶陵县| 治多县| 安远县| 合山市| 唐山市| 临安市| 邵阳市| 周至县| 嘉义县| 朝阳县| 鹤岗市| 田林县| 芦山县| 泾阳县| 民丰县| 大兴区| 天长市| 茂名市| 杨浦区| 宁安市| 德惠市| 乌拉特前旗| 长春市| 司法| 娄烦县| 金华市| 建德市| 河北省| 滦南县| 博白县| 东明县| 桐庐县| 西乡县|