一、動态配置檔案
我們需要了解Spring動态指定配置檔案的方式,來提高我們的部署效率。
1.1、概述
在實際企業開發中,開發環境、測試環境、生産環境通常采用不同的資料庫等中間件的連接配接方式。如果此時我們按照目前的方式,隻有一個application.yml配置檔案,那麼我們在不同環境下啟動項目,都需要更改配置檔案中的各種連接配接資訊,雖然目前我們需要更改的連接配接位址少,但是每次去手動的更改這些資訊,人工改的話是非常容易改錯的。
Spring 提供了可以指定配置檔案啟動的方式,這樣使得我們可以靈活的切換配置檔案。
目前項目中也使用了這個指定配置檔案的方式,隻不過是在配置檔案中指定的。代碼如下圖:
我們要做的是,在啟動的時候指定。我們需要複制配置檔案application.yml和application-druid.yml,命名為application-prod.yml和application-druid-prod.yml,用來區分開發環境和生産環境,多個環境同理。
不指定配置檔案,預設讀取application.yml,我們開發的時候,可以直接啟動項目。我們也可以分出一個dev的配置,這個看個人開發習慣。
1.2、啟動方式
1.2.1、jar包啟動
在區分出了生産環境的配置後,我們通過jar包方式啟動項目的時候,增加參數指定,可以在啟動項目的時候,指定配置檔案。代碼如下:
java -jar xxx.jar --spring.profiles.active=prod,druid-prod
注意:
指定多個配置檔案,使用,号分割。
啟動項目的時候指定了配置檔案,在yml中配置的 spring.profiles.active 會失效
1.2.2、IDEA啟動配置
- 在 IDEA 中配置profiles是非常簡單的。
- 點選 IDEA 上方菜單Run
- 選擇Edit Configurations...
- 選擇Spring Boot下的 MyProjectServerApplication
- 找到Active profiles輸入框,輸入需要指定的配置檔案字尾。例如:prod,druid-prod
- 點選OK即可。
如下圖:
配置好後,使用IDEA啟動項目,就會自動指定配置檔案了。不需要的時候,直接删掉儲存就可以了。
二、項目打包
我們在生産環境運作的時候,是使用jar的方式啟動的。這裡就需要我們将我們的項目打成jar,然後把項目運作起來。
項目結構如下:
本次建構的項目服務子產品my-project-server依賴my-project-dependencies和my-project-common。是以需要先把這兩個子產品install安裝到本地,以便my-project-server打包的時候,可以依賴到這兩個子產品。
項目打包的方式有多種,這裡就簡單介紹常用的兩種方式。
2.1、IDEA打包
IDEA 打包方法:
- 點選右側Maven菜單
- 輕按兩下打開要操作的子產品
- 點選Lifecyle
- 輕按兩下需要進行的操作。例如:clean、install、package
如下圖:
步驟:
- install安裝my-project-dependencies
- install安裝my-project-common
- package打包my-project-server
2.2、Maven指令打包
步驟還是跟上個方式的步驟一緻,不一樣的是使用Maven指令,這裡借助bat的方式,一次完成。
在子產品同濟目錄下建立一個bin目錄後,建立批處理檔案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 ..
打包時,隻需要執行bin目錄下的package.bat檔案即可完成打包。
-Dmaven.test.skip=true 意思為跳過測試。項目打包過程中,會執行我們編寫的測試類。我們在日常項目開發過程中,或多或少會寫測試類,這個參數就可以在打包的時候,跳過測試類的執行。
三、項目部署
打包完成後,會在項目的target目錄下生成一個項目的jar包,這個就是我們最終運作的程式了。如圖所示:
3.1、安裝環境
打包完成後,我們會将程式上傳至伺服器進行運作,伺服器需要安裝Java運作環境。
1)、下載下傳
下載下傳位址:
https://www.oracle.com/java/technologies/downloads/#java8
找到Linux版本進行下載下傳,可能需要登入,登入下載下傳即可。
2)、建立目錄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)、配置系統變量
vim /etc/environment
添加如下語句
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)、配置使用者環境變量
vim /etc/profile
添加如下語句
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
環境變量生效
source /etc/profile
7)、測試
$ 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)
出現正常的版本号,說明安裝成功啦~
3.2、項目啟動
建立目錄
mkdir -p /usr/local/apps/my-project
将之前項目打包的jar包上傳至該目錄
啟動項目有多種方式
前台啟動一,這種方式啟動,會在視窗上輸出啟動日志,如果關閉視窗或者Ctrl+C,會終止程式。
java -jar my-project-server-1.0.0-SNAPSHOT.jar
前台啟動二,這種方式啟動,也會在視窗上輸出啟動日志,如果Ctrl+C,程式依然正常運作。
java -jar my-project-server-1.0.0-SNAPSHOT.jar &
背景啟動,這種方式,不會再視窗上輸出啟動日志,如果關閉視窗程式依然正常運作。推薦
nohup java -jar my-project-server-1.0.0-SNAPSHOT.jar &
3.3、最終效果
啟動後,通路http://IP:8899/sys-user/get/all,即可通路查詢所有使用者接口
作者:微楓Micromaple
來源:https://blog.csdn.net/qq_41779565/article/details/127191733
點選關注,帶你了解更多