jeesite 4.0 學習筆記(一)
本人小白一個,公司要開發一個下單系統,專案週期比較短,兩週時間。重新開發已經是不可能的了。部門的工程師建議用jeesite快速開發框架。去官網看了一下,http://www.jeesite.com/,感覺還ok。
框架已經更新到4.0版本了,本以為很簡單,沒想到一用才發現很多問題。
首先,我是跟著官方文件,走一遍流程。
環境要求
1、Java SDK 1.8 下載
2、Eclipse IDE for Java EE Mars 2 (4.5.2) 下載(依 Eclipse 舉例,IDEA 雷同。)
3、Apache Maven 3.3+ 下載
4、MySql 5.7+ 下載
匯入到Eclipse
1、檢出JeeSite4原始碼:
git clone https://gitee.com/thinkgem/jeesite4.git
2、拷貝web
資料夾,到你的工作目錄(不包含中文和空格的目錄)下,重新命名為你的工程名,如:jeesite-demo
3、開啟pom.xml
檔案,修改第13行,artifactId為你的工程名,如:<artifactId>jeesite-demo</artifactId>
4、匯入到Eclipse,選單 File -> Import,然後選擇 Maven -> Existing Maven Projects,點選 Next> 按鈕,選擇第2步的jeesite-demo
5、這時,Eclipse會自動載入Maven依賴包,初次載入會比較慢(根據自身網路情況而定),若工程上有小叉號,請開啟Problems視窗,檢視具體錯誤內容,直到無錯誤為止
6、下載過程中你可以準備資料庫環境了(若以上過程有問題,請看本頁最下“部署常見問題”章節)
初始化資料庫
1、以MySql為例,配置下SQL模式,否則建表的時候可能會出現問題
開啟 my.ini 給 [mysqld] 增加如下配置:
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
2、 建立使用者和授權
setglobal read_only=0;
setglobal optimizer_switch='derived_merge=off';
createuser'jeesite'@'%' identified by'jeesite';
createdatabase jeesite DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
grantallprivilegeson jeesite.* to'jeesite'@'%' identified by'jeesite';
flush privileges;
3、開啟檔案 /src/main/resources/config/jeesite.yml
配置產品和專案名稱及JDBC連線
# 產品或專案名稱、版本、版權年份
productName: JeeSite Demo
productVersion: V4.0
copyrightYear: 2018
# 軟體提供商公司或個人名稱
companyName: 你的公司或個人名稱
# 資料庫連線
jdbc:
# Mysql 資料庫配置
type: mysql
driver: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/jeesite?useSSL=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
username: jeesite
password: jeesite
testSql: SELECT 1
4、若剛才匯入到的Eclipse的專案已經完成載入jar並無錯誤,你就可以執行/bin/init-data.bat
指令碼初始化資料庫了,第一次執行如果遇見table xxx doesn't exist
的錯誤資訊,忽略即可。
5、如果執行bat不成功,你也可以直接在Eclipse裡找到com.jeesite.test.InitCoreData.java
和com.jeesite.test.InitGenData.java
兩個檔案並開啟,然後在空白處右鍵,點選 Run As -> JUnit Test 執行單元測試進行初始化資料庫指令碼。
啟動Tomcat服務
1、當前是Spring Boot工程,內部已經整合Web容器,你無需另外再下載Tomcat進行部署,只需按照以下方式進行即可。
2、開啟/src/main/resources/config/application.yml
檔案,配置你的服務埠port
、部署路徑context-path
,例如:
server:
port: 8980
context-path: /jeesite-demo
tomcat:
uri-encoding: UTF-8
3、在Eclipse裡找到com.jeesite.modules.config.Application.java
檔案並開啟,然後在空白處右鍵,點選 Debug As -> Java Application 即可啟動服務。
4、注意使用 Debug 執行,有助於你除錯程式和提升開發效率,如:修改方法內的程式碼,修改檢視程式碼,修改mapper程式碼,是不需要重啟Web服務的。如果改變java類的結構,如果增刪屬性、方法、引數等,新增檔案,這是就需要重啟服務了。
瀏覽器訪問
2、預設最高管理員賬號:system 密碼:admin
5、這時已經配置完成,開啟你的開發之旅吧
清理Demo資料
為了演示方法,初始化資料庫後會載入一些演示資料,執行以下指令碼即可清理
DELETEFROM js_sys_post;
DELETEFROM js_sys_office;
DELETEFROM js_sys_company;
DELETEFROM js_sys_employee;
DELETEFROM js_sys_employee_post;
DELETEFROM js_sys_role WHERE role_code NOTIN ('corpAdmin','default');
DELETEFROM js_sys_role_data_scope;
DELETEFROM js_sys_user WHERE user_code NOTIN ('system','admin');
DELETEFROM js_sys_user_data_scope;
DELETEFROM js_sys_user_role;
DELETEFROM js_sys_log;
使用自己的package包路徑
1、Application.java
的 scanBasePackages
增加您的包路徑
2、jeesite.yml
中找到 mybatis: scanBasePackage:
增加您的包路徑,用逗號隔開
3、預設程式碼生成包路徑修改:選單系統設定->引數設定
的gen.defaultPackageName
為您的包名
4、完成
部署常見問題
下載不到
jeesite-xxx.jar
依賴包:相關包已經發布到Sonatype Repository
快照倉庫,在web
專案的pom.xml
裡已配置,有可能是你的 Mavensetting.xml
裡添加了mirror
或repository
導致的問題,請清理或追加新增Sonatype Repository
倉庫地址,再嘗試執行 /web/bin/package.bat
指令碼,預先下載依賴jar包即可。IntelliJ IDEA中提示
NoClassDefFoundError: javax/servlet/ServletOutputStream
錯誤,你只需要修改web專案下的pom.xml,註釋掉spring-boot-starter-tomcat
的<scope>provided</scope>
部分改為<scope>compile</scope>
即可。出現NoSuchMethodError錯誤,一般是依賴包版本需要更新,請嘗試如下操作:在web專案上右鍵,選擇選單 -> Maven -> Update Project...(或按Alt+F5) -> 點選 Select All 按鈕 -> 選擇 Force Update of Snapshots/Releases 複選框 -> 點選OK按鈕即可。
MySql執行
init-data.bat
初始化資料失敗,你可嘗試設定下 my.ini 給 [mysqld] 增加如下配置:sql_mode=ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
java -jar 提示
Failed to parse mapping resource ... jar!/mappings/**.xml]
錯誤,這是因為 jar 巢狀後 Spring 無法獲取到資原始檔的問題,建議你執行bin/package.bat
打包為war檔案,然後解壓war包,執行/WEB-INF/startup.bat
指令碼執行即可啟動報
UnsatisfiedLinkError
錯誤,如果您是在 Eclipse 手動部署到 Tomcat 服務,請開啟 Servers 選項卡,雙擊你新增的 Tomcat 服務,進入設定,找到S