1. 程式人生 > >jeesite 4.0 學習筆記(一)

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

資料夾,然後點選 Finish 按鈕,即可成功匯入

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.javacom.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.javascanBasePackages 增加您的包路徑

2、jeesite.yml 中找到 mybatis: scanBasePackage: 增加您的包路徑,用逗號隔開

3、預設程式碼生成包路徑修改:選單系統設定->引數設定gen.defaultPackageName為您的包名

4、完成

部署常見問題

  • 下載不到jeesite-xxx.jar依賴包:相關包已經發布到Sonatype Repository快照倉庫,在web專案的pom.xml裡已配置,有可能是你的 Maven setting.xml裡添加了mirrorrepository導致的問題,請清理或追加新增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