# 后端代碼本地運行&發布
演示環境:Windows 10 專業版
Java基礎環境:JDK:1.8
開發工具:IntelliJ IDEA 2021.3.3
### 安裝基礎環境:JDK1.8
要在Windows上安裝和部署Java Development Kit (JDK) 1.8,請按照以下步驟進行操作:
1. **下載JDK 1.8:**
訪問Oracle官方網站或者OpenJDK的官方網站,從中下載JDK 1.8的安裝程序(通常是一個可執行文件,擴展名為.exe)。請注意,自Java 11版本開始,Oracle JDK要求許可證,因此您可能希望選擇OpenJDK版本,它是免費的并且開放源代碼。
2. **運行安裝程序:**
打開下載的安裝程序(.exe文件),然后按照安裝向導的指示進行操作。通常,您可以接受默認安裝位置和選項。安裝程序將JDK 1.8安裝在您的系統上。
3. **配置環境變量:**
為了能夠在命令行中使用JDK 1.8,您需要配置系統環境變量。以下是配置環境變量的步驟:
* 右鍵單擊”此電腦”(或”計算機”)并選擇”屬性”。
* 在系統屬性窗口中,點擊”高級系統設置”。
* 在”高級”選項卡下,點擊”環境變量”按鈕。
* 在”系統變量”部分,找到名為”Path”的變量,然后點擊”編輯”。
* 在”編輯環境變量”窗口中,點擊”新建”,然后添加JDK的安裝路徑,通常是類似于C:\\Program Files\\Java\\jdk1.8.0\_XXX\\bin的路徑。請注意,您需要根據您的實際安裝路徑進行調整。
* 點擊”確定”以保存更改。
4. **驗證安裝:**
打開命令提示符(Command Prompt)并輸入以下命令來驗證JDK 1.8是否正確安裝:
~~~shell
java -version
~~~
### 安裝和部署 IntelliJ IDEA 2021.3.3
安裝和部署 IntelliJ IDEA 2021.3.3 是一項相對簡單的任務,以下是在Windows操作系統上進行安裝和部署的步驟:
1. 下載 IntelliJ IDEA:
訪問 JetBrains 官方網站([https://www.jetbrains.com/idea/download/)下載](https://www.jetbrains.com/idea/download/%EF%BC%89%E4%B8%8B%E8%BD%BD)IntelliJ IDEA 2021.3.3 的安裝程序。您可以選擇 Community 版本(免費)或 Ultimate 版本(需要許可證)。下載的文件通常是一個可執行安裝程序。
2. 運行安裝程序:
雙擊下載的安裝程序(通常是一個.exe文件),然后按照安裝向導的指示進行操作。您可以接受默認的安裝選項,或者根據您的需求進行自定義設置。
3. 選擇安裝選項:
* 選擇安裝路徑:選擇要將 IntelliJ IDEA 安裝到的目錄。默認情況下,它將安裝到 C:\\Program Files\\JetBrains\\IntelliJ IDEA 2021.3.3,但您可以更改此路徑。
* 選擇創建桌面快捷方式:通常,您會希望選擇此選項以在桌面上創建 IntelliJ IDEA 的快捷方式,以便更容易訪問。
* 選擇關聯文件類型:根據您的需求選擇關聯文件類型,這將決定是否在 IntelliJ IDEA 中打開特定類型的文件。
4. 啟動 IntelliJ IDEA:
安裝完成后,可以啟動 IntelliJ IDEA。您可以在開始菜單中找到 IntelliJ IDEA 的快捷方式,或者使用桌面上的快捷方式(如果您選擇了創建桌面快捷方式選項)。
5. 激活 IntelliJ IDEA(僅適用于 Ultimate 版本):
如果您下載并安裝了 IntelliJ IDEA Ultimate 版本,您需要激活它。在啟動 IntelliJ IDEA 后,您將看到一個歡迎屏幕,您可以選擇 “Evaluate for free” 以獲得試用許可證,或者輸入您的許可證密鑰以激活。
6. 配置首選項:
在首次啟動 IntelliJ IDEA 時,您將被引導完成一些初始設置,例如選擇主題、導入設置、選擇插件等。您可以按照向導的指示進行操作,根據您的個人喜好進行配置。
7. 開始使用 IntelliJ IDEA:
安裝和配置完成后,您可以開始使用 IntelliJ IDEA 進行Java和其他編程語言的開發。創建新項目、導入現有項目,或者打開任何您想要編輯的代碼文件。
這些步驟應該能夠幫助您在Windows上安裝和部署 IntelliJ IDEA 2021.3.3。請根據您的需求進行自定義設置,并根據您的編程語言和項目類型配置 IDE。
導入工程:


**鏡像庫IP配置外網IP:**


修改:
生產環境:bootstrap-prod.yml
開發環境:bootstrap-dev.yml
中的各配置項。
(1)每個微服務中對應的/src/main/resources目錄下的bootstrap-dev.yml文件(bootstrap-prod.yml文件對應生產環境),修改其中的spring配置為自己本地(or 生產環境)的配置,主要包括數據庫連接信息。服務端口在application.yml文件中修改;服務名稱在bootstrap.yml文件中修改。服務端口和服務名稱一般不需要修改,請慎重。
**需要特別修改的配置**:
**鑒權設置:mall-gateway\\src\\main\\resources\\bootstrap-prod.yml**

**elasticsearch參數配置:mall-search\\src\\main\\resources\\bootstrap-prod.yml IP換成服務器內網IP,username和password按照部署時設置的參數填寫**

mall-common:
* global.properties: 阿里云oss鑒權
* bootstrap-prod.yml

**除以上配置,其他具體參數配置集中在pom.xml**
~~~shell
<!-- 本地環境 -->
<id>local</id>
<!-- 開發環境 -->
<id>dev</id>
<!-- 測試環境 -->
<id>test</id>
<!-- 生產環境 -->
<!-- -->
<id>prod</id>
<properties>
<spring.profile>prod</spring.profile>
<!-- nacos配置 -->
<nacos.server.address>127.0.0.1:8848</nacos.server.address>
<nacos.namespace>public</nacos.namespace>
<nacos.username>nacos</nacos.username>
<nacos.password>nacos</nacos.password>
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>
<!-- seata配置 -->
<seata.group>SEATA_GROUP</seata.group>
<seata.tx-service-group>my_test_tx_group</seata.tx-service-group>
<!-- sentinel配置 -->
<sentinel.transport.dashboard>127.0.0.1:8718</sentinel.transport.dashboard>
<!-- redis配置 -->
<redis.host>127.0.0.1</redis.host>
<redis.database>0</redis.database>
<redis.port>6379</redis.port>
<redis.password>dev_pwd_123</redis.password>
<!-- rabbitmq配置 -->
<rabbitmq.host>127.0.0.1</rabbitmq.host>
<rabbitmq.port>5672</rabbitmq.port>
<rabbitmq.virtual-host>/</rabbitmq.virtual-host>
<rabbitmq.username>guest</rabbitmq.username>
<rabbitmq.password>guest</rabbitmq.password>
<!-- logstash配置 -->
<logstash.host>127.0.0.1</logstash.host>
<!-- 圖片上傳配置 -->
<upload.filepath>/opt/apps/mall/public/static</upload.filepath>
</properties>
~~~
**以上127.0.0.1換成內網IP,如果基礎服務和商城不在同一臺服務器換成可以通訊的IP。其它參數根據自己部署時設置的參數填寫**
(2)注意修改mall-pay服務/src/main/resources下的payKey兩個文件夾下的阿里支付和微信支付相關參數(具體參數值可咨詢我們的售后人員),只要注意文件中有域名的地方換成自己的域名就行。
支付配置:[https://docs.suteshop.com/docs/java\_manual/java\_manual-1dvaufidl8j50](https://docs.suteshop.com/docs/java_manual/java_manual-1dvaufidl8j50)
### 打包發布生產包:

服務端鏡像推送成功之后,把源碼包中的sh文件夾上傳到服務器。
mall-gateway
mall-auth
mall-account
mall-admin
mall-shop
mall-sns
mall-pay
mall-cms
mall-search
mall-im
推送成功之后按照這個順序執行sh下的腳本,上一個教程執行成功之后15秒后在執行下一下。