Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
快速開始、環境搭建、修改包名、新建模塊、正式部署
開發環境要求
1、Java SDK 1.8 或 11、17、21 下載1 (opens new window) 下載2 (opens new window) 下載3 (opens new window)(推薦JDK17)
2、Apache Maven 3.6+ 以上版本 下載 (opens new window)(請刪除 .xml 里的 mirror 配置)
3、Eclipse for Java EE 下載 (opens new window) 或 Spring Tools 下載 (opens new window) 或 IDEA 下載 (opens new window)(根據個人喜好選擇)
4、MySql 8.x 下載 (opens new window) 或 5.7.11+ 以上版本 下載 (opens new window) 或 Oracle、、Sql Server
5、Git 下載 (opens new window),可選下載: (opens new window) 或 其它 (opens new window)、DBeaver (opens new window)
6、提示:一般 IDE 中會自帶部分工具,如果已經具備,可免下載(^_^)。
導入到 IDE 工具
1、獲取 JeeSite 源代碼:
git clone https://gitee.com/thinkgem/jeesite5.git jeesite
cd jeesite
2、Eclipse:菜單中點擊 File -> Import,然后選擇 Maven -> Maven ,點擊 Next> 按鈕,選擇剛下載的 jeesite 文件夾,點擊 Finish 按鈕。
3、IDEA:菜單中點擊 File -> Open,然后選擇剛下載的 jeesite 文件夾,點擊 Open as Project 按鈕。
4、此時 Eclipse 或 IDEA 會根據 JeeSite 工程配置,自動下載 Maven 依賴并編譯項目。初次加載可能會較慢(根據自身網絡情況而定)若工程上有小叉號,請打開 窗口,查看具體錯誤內容,直到無錯誤為止。
提示
如果在編譯過程中遇見問題,請在 “常見問題” 中找找,看看有沒有和您相同的問題
5、下載依賴和編譯過程中,您可先進行下一步,準備數據庫環境
初始化數據庫
JeeSite 采用自動數據庫初始化程序,根據用戶創建的數據庫賬號自動完成表結構和初始數據。無需自行執行 SQL 文件進行初始化,此舉為了更方便的導入不同類型的數據庫,如 MySQL、Oracle、、 等,不用維護多種類型數據庫的 SQL 初始數據的語句。減少出錯率,也提供了更方便的,按需導入 JeeSite 擴展模塊的數據表和基礎數據功能。
1、 創建用戶和授權(以 MySql 為例)
set global read_only=0;
set global optimizer_switch='derived_merge=off';
create user 'jeesite'@'%' identified by 'jeesite';
create database jeesite DEFAULT CHARSET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
-- MySql 5.x
-- grant all privileges on jeesite.* to 'jeesite'@'%' identified by 'jeesite';
-- MySql 8.x
grant all privileges on jeesite.* to 'jeesite'@'%';
flush privileges;
官方也提供了 MySql 的初始化庫,直接導入即可,省去執行 init-data.bat(sh),點擊下載 (opens new window)(社區版用)
2、 打開 /web(-api)/src/main//config/.yml(v4.0:jeesite.yml)文件
`/web(-api)` 代表 `/web` 或 `/web-api`
配置您的產品名稱、公司名稱、產品版本和 JDBC 連接,例如:
## 您的產品或項目名稱、軟件開發公司名稱
productName: 某某信息化管理系統
companyName: 某某信息技術有限公司
## 您的產品或項目迭代版本、版權年份
productVersion: V5.7
copyrightYear: 2024
## 數據庫連接
jdbc:
# MySql 數據庫配置(提示:MySql 8.x 驅動類的配置方法,默認在 v4.2 及之后版本 )
type: mysql
driver: com.mysql.cj.jdbc.Driver
# 如果需要提供公鑰進行身份驗證,MySql 8.2 可添加選項:&allowPublicKeyRetrieval=true
url: jdbc:mysql://127.0.0.1:3306/jeesite?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=Asia/Shanghai
username: root
password: 123456
testSql: SELECT 1
## MySql 數據庫配置(提示:MySql 5.x 驅動類的配置方法,默認在 v4.1 及之前版本 )
type: mysql
driver: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/jeesite?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
username: jeesite
password: jeesite
testSql: SELECT 1
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
3、若剛才導入到的 Eclipse 或 IDEA 的項目,Maven 依賴已經完成編譯并無錯誤,這時您就可以執行 /bin/init-data.bat(sh) 腳本初始化數據庫了,按提示操作。
(注意:v4.2.x 之后版本的初始化數據不會清空數據,如果已經初始化,將會自動忽略。如果執行過程不小心中斷了,請手動刪除 jeesite 庫中已經創建的 table,再次執行 init-data 腳本)
4、如果因您的環境原因 /bin/init-data.bat(sh) 腳本無法運行,您可以在 Eclipse 或 IDEA 里找到 com.jeesite.test..java 文件并打開。
1)Eclipse 在 java 文件空白處右鍵,點擊 Run As -> JUnit Test 運行單元測試,進行初始化數據庫腳本。
2)IDEA 在 java 文件空白處右鍵,點擊 Run '' 運行單元測試,進行初始化數據庫腳本。
(注意:v4.1.8 之前版本找 com.jeesite.test..java 文件;v4.2.0 之前版本可能會提示您:為了防止誤操作,您還需要:打開 Run 找到 選項卡,在 VM 里增加 “-.=true” 參數,點擊Run運行,執行完成后建議將該單元測試 Run 刪除掉,防止誤操作,不小心再把您的有用數據清理掉)
提示
如果在初始化數據庫遇見問題,請在 “常見問題” 中找找,看看有沒有和您相同的問題
配置服務端口
1、當前是 Spring Boot 工程,內部已經集成 Web 容器,您無需另外再下載 Tomcat 進行部署,只需按照以下方式進行即可。
2、打開 /web(-api)/src/main//config/.yml 文件,
配置您的服務端口 port、部署路徑 context-path 例如:
server:
port: 8980
servlet:
context-path: /js
tomcat:
uri-encoding: UTF-8
# 提示:v4.0.x 及之前版本,配置方法:
server:
port: 8980
context-path: /js
tomcat:
uri-encoding: UTF-8
10
11
12
13
啟動 Web 服務
注意:JeeSite 一套后端代碼同時支持兩種前端技術棧下面,根據您的需求進行選擇啟動方式
全棧經典版
前端技術棧: + Beetl。
1、Eclipse:打開 .java 啟動文件,在空白處右鍵,點擊 Debug As -> Java 即可啟動服務。
2、IDEA:右上角運行調試配置下拉框,選擇 運行配置,點擊 Debug 圖標,啟動服務。
Vue 分離版
前端技術棧:TS + Vue3 + Vite。
1、Eclipse:打開 .java 啟動文件,在空白處右鍵,點擊 Debug As -> Java 即可啟動服務。
2、IDEA:右上角運行調試配置下拉框,選擇 運行配置,點擊 Debug 圖標,啟動服務。
3、分離前端需要單獨部署 Vue 項目,部署方法詳見:
專業版用戶
1、若想分離版,請先打開 .yml 設置 apiMode 為 true,否則請忽略本步。
2、Eclipse:打開 .java 啟動文件,在空白處右鍵,點擊 Debug As -> Java 即可啟動服務。
3、IDEA:右上角運行調試配置下拉框,選擇 運行配置,點擊 Debug 圖標,啟動服務。
部署完成后訪問
1、瀏覽器訪問::8980/js (opens new window) 分離版::3100 (opens new window)
2、默認最高管理員賬號:system 密碼:admin
3、恭喜您已經部署完成,開啟您的開發之旅吧
提示
減少 IDE 語法錯誤提示
配置 Beetl 第二個占位符和定界符,讓 html 和 js 語法編寫不同的占位符(5.5.0+默認配置)
這樣就可以不用配置 IDE 的 HTML 語法驗證,IDE 也不會報紅。
beetl-core.
DELIMITER_PLACEHOLDER_START2="#{
DELIMITER_PLACEHOLDER_END2=}"
DELIMITER_STATEMENT_START2=//#
DELIMITER_STATEMENT_END2=
正則表達式全局查找替換:
查找:\$\{@DictUtils\.getDictListJson\(\'(.+?)\'\)\}
替換:"#\{@DictUtils\.getDictListJson\(\'$1\'\)\}"
查找:\$\{toJson\((.+?)\)\}
替換:"#\{toJson\($1\)\}"
查找:\/\/\<\% (.+?) \%\>
替換://# $1
舊版 Eclipse 推薦設置參數
5.4.2 之前版本,打開項目您可能會發現 html 文件多處報錯,是因為 Beetl 語法和 JS 語法混用的時候語法錯誤誤報問題。
設置如下,可關閉 IDE HTML 語法檢查,菜單:Window -> ->
哇,界面瞬間干凈了。
清理 Demo 數據
為了演示方法,初始化數據庫后會載入一些演示數據,執行以下腳本即可清理
DELETE FROM js_sys_post;
DELETE FROM js_sys_office;
DELETE FROM js_sys_company;
DELETE FROM js_sys_employee;
DELETE FROM js_sys_employee_post;
DELETE FROM js_sys_role WHERE role_code NOT IN ('corpAdmin','default');
DELETE FROM js_sys_role_data_scope;
DELETE FROM js_sys_user WHERE user_code NOT IN ('system','admin');
DELETE FROM js_sys_user_data_scope;
DELETE FROM js_sys_user_role;
DELETE FROM js_sys_log;
10
11
新建一個模塊工程
1、進入菜單:系統管理 -> 系統設置 -> 模塊管理,新建一個模塊,填寫:
點擊 “保存并生成代碼” 按鈕,即可完成業務模塊的工程代碼新建(自動化生成模塊工程源碼)
2、打開 /modules/pom.xml 文件,拷貝 core 到新一行,修改為您的模塊名,如:test
v5.3.1 之前版本打開 /root/pom.xml 文件,拷貝 ../modules/core 到新一行,修改為您的模塊名,如:../modules/test
3、在您需要用到的項目引入您的新模塊,如,在 web 項目下用,則打開 /web/pom.xml 文件,加入:
<dependency>
<groupId>com.jeesitegroupId>
<artifactId>jeesite-module-testartifactId>
<version>${project.parent.version}version>
dependency>
4、若您使用的 Eclipse ,將該模塊導入即可。若 IDEA 點擊 Maven Update,則會自動檢測 root 模塊的依賴,并自動導入。
5、模塊創建完成。
提示
模塊下新增代碼后,請返回模塊管理菜單,編輯模塊的 “主類全名”,如下:
主類全名:com.jeesite.modules.test.
解釋:類名為該模塊的狀態驗證類,如果該類檢測不存在,則該模塊狀態提示 “未安裝”
驗證原理:Class.forName("com.jeesite.modules.sys.web.")
v4.2.2之前版本創建模塊方法:
1、舉例創建 jeesite-module-test 模塊功能,拷貝模塊目錄下的 /modules/ 模板項目文件夾
2、然后在相同文件夾 /modules/ 下粘貼,并重命名為您的模塊名,如:/modules/test
3、打開 /modules/test/pom.xml 文件,找到 jeesite-module- 的 元素,修改為您的模塊名,如:jeesite-module-test
4、打開 /root/pom.xml 文件,拷貝 ../modules/core 到新一行,修改為您的模塊名,如:../modules/test
5、在您需要用到的項目引入您的新模塊,如,在 web 項目下用,則打開 /web/pom.xml 文件,加入:
<dependency>
<groupId>com.jeesitegroupId>
<artifactId>jeesite-module-testartifactId>
<version>${project.parent.version}version>
dependency>
6、若您使用的 Eclipse ,將該模塊導入即可。若 IDEA 會自動檢測 root 模塊的依賴,并自動導入。
7、啟動項目,打開 “系統管理 -> 系統設置 -> 模塊管理” 菜單,新建一個模塊,數據如下:
點擊 “保存” 按鈕。
8、模塊創建完成。
數據庫腳本自動升級
非常好的功能,當升級模塊代碼時,同時自動更新對應模塊的數據庫升級 SQL 腳本,無需運維人員手動去執行腳本。
1、每個主要模塊下都有一個 文件,該文件為數據庫版本檢測的關鍵文件
2、例如 core 模塊的版本檢測文件為:/modules/core/src/main//db/upgrade/core/
3、系統啟動時,遍歷模塊表里的所有模塊,檢測 文件的版本列表,與其當前模塊版本進行對應
4、找到對應版本,則依次往下進行匹配執行升級。若匹配的版本沒有 sql 腳本,則忽略,只更新模塊版本
5、若 文件的版本列表中沒有匹配的版本,則提示:升級失敗,數據庫的版本可能比代碼版本新
6、自己的模塊實現,可參考官方 CMS 模塊的 相關代碼(含初始化表、菜單、字典等基礎數據)
使用自己的包路徑
自己新建的業務模塊,可以自定義為自己公司的包名,如:com..modules.xxx
1、.java 的 @n(="包路徑") 增加您的包路徑
2、.yml 中找到 mybatis: : 增加您的包路徑,用逗號隔開
3、默認代碼生成包路徑修改:菜單系統設置->參數設置的gen.為您的包名
4、打開 logback-spring.xml,配置日志級別
5、修改完成
部署到正式服務器
1、確保正式服務器 jdk1.8、11 or 17 及 數據庫 環境已經具備
2、配置系統環境變量 指定 jdk 路徑,注意不要包含中文或空格
3、執行 bin/package.bat(sh) 打包項目,在 target 目錄下找到 war 包文件,并拷貝到服務器上
(根據自身需要,可以修改為 jar 包,打開 web/pom.xml,吧 修改為 jar 即可)
4、進行解壓war包,配置yml相關參數,運行/WEB-INF/startup.bat(sh)腳本,即可啟動 Web 服務
(注意:一定要解壓,否則影響性能,當后面發布更新的時候,可以部分升級某個依賴,不用整包上傳)
(解壓后請刪除war包,war 可以獨立運行,也可以直接放到 tomcat 或其它容器下運行)
5、若需修改 jvm 參數,編輯 startup.bat(sh) 修改 參數優化 jvm 環境
6、支持啟動參數增加 -Dspring.config.=x:/app.yml 加載指定配置文件
7、若需要配置環境,則指定 -Dspring..active=prod,則加載 -prod.yml 屬性文件
部署到外部 Web 容器
1、修改 .yml 中的 server.servlet.context-path 值,除了前面多一個 / 外,后面與 web/pom.xml 中的 一致。如果部署路徑設置不一致,可能會出現 cookie 無法存儲,不能登錄問題
2、執行 bin/package.bat(sh) 打包項目,在 target 目錄下找到 war 包文件
3、如果為 Tomcat,可將 war 文件拷貝到 webapps 目錄,并啟動 Tomcat 即可;其它 Web 服務,如 、TongWeb、JBoss、 等,可根據對應部署方法進行操作(注意:必須支持 Servlet 3.1+)
部署到 Docker
1、打開 parent/pom.xml 修改容器地址 docker. 為您的Docker地址,鏡像名稱默認為 ${project.groupId}/${project.}:4.3 規則
2、執行 parent/bin/package.bat(sh) 對,上一步的修改進行編譯到本地 Maven 倉庫
3、打開 web/pom.xml 修改 docker.run.port 運行端口,與 .yml 里的服務端口一致
4、 會激活了 prod 環境,請修改 -prod.yml 中的 jdbc 數據庫連接配置和 file 文件存儲根路徑
5、修改 web/bin/docker/ 中的配置,根據您的項目環境情況進行配置和修改
6、執行 web/bin/docker-build.bat(sh) 進行編譯打包鏡像文件并上傳至 Docker
7、進入 Docker 服務器,啟動鏡像,舉例: docker run -p 8980:8980 com.jeesite/jeesite-web:5.5
【使用過程中的常見問題匯總】
*請認真填寫需求信息,我們會在24小時內與您取得聯系。