JeeSite 4.x快速搭建(一)

快速開始、環境搭建、修改包名、新建模塊、正式部署

開發環境要求

1、Java SDK 1.8 下載

2、Apache Maven 3.6 下載

3、Eclipse IDE for Java EE (4.5) 下載、或 IntelliJ IDEA 下載

4、MySql 5.7.11+ 下載(Oracle、PostgreSQL、Sql Server 操作類似)

導入到 Eclipse 或 IDEA

1、檢出 JeeSite 4.x 源代碼:

git clone https://gitee.com/thinkgem/jeesite4.git

2、拷貝 web 文件夾,到你的工作目錄(不包含中文和空格的目錄)下,重命名爲你的工程名,如:jeesite-test

3、打開 pom.xml 文件,找到 jeesite-web 的 artifactId 元素,修改爲你的工程名,如:jeesite-test

4、導入到 Eclipse,菜單 File -> Import,然後選擇 Maven -> Existing Maven Projects,點擊 Next> 按鈕,選擇第2步的 jeesite-test 文件夾,然後點擊 Finish 按鈕,即可成功導入

5、若 IDEA,點擊 Import Project,選擇 pom.xml 文件(若包含所有源碼包,你需要選擇 jeesite/root/pom.xml 文件),點擊 Next 按鈕,選擇 Import Maven projects automatically 複選框,然後一直點擊 Next 按鈕,直到點擊 Finish 按鈕,即可成功導入

6、這時,Eclipse(IDEA)會自動加載 Maven 依賴包,初次加載會比較慢(根據自身網絡情況而定,目前使用國外Maven倉庫地址,購買授權提供國內私服地址),若工程上有小叉號,請打開 Problems 窗口,查看具體錯誤內容,直到無錯誤爲止

7、下載依賴jar文件的過程中,你可以準備數據庫環境了

若在部署過程中遇見問題,請在“常見問題”中找找,看看有沒有和你相同的問題

初始化數據庫

1、以 MySql 爲例

1)打開 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)如果遇到 ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes. 錯誤

  a)打開 my.ini 給 [mysqld] 增加如下配置:

innodb_large_prefix = ON
innodb_file_format = Barracuda
innodb_file_per_table = ON

  b)並修改報錯的建表語句後面加上:ENGINE=InnoDB row_format=DYNAMIC;

# 若沒有修改my.ini的權限也可以使用命令查看參數和設置參數:
show global variables like "innodb_large_prefix";
show global variables like "innodb_file_format";
show global variables like "innodb_file_per_table";
set global innodb_large_prefix=ON;
set global innodb_file_format=Barracuda;
set global innodb_file_per_table=ON;

2、 創建用戶和授權

set global read_only=0;
set global optimizer_switch='derived_merge=off'; 
create user 'jeesite'@'%' identified by 'jeesite';
create database jeesite DEFAULT CHARSET 'utf8' COLLATE 'utf8_unicode_ci';   
grant all privileges on jeesite.* to 'jeesite'@'%' identified by 'jeesite';
flush privileges;

3、 打開文件 /src/main/resources/config/application.yml(v4.0.x:/src/main/resources/config/jeesite.yml) 配置產品和項目名稱及 JDBC 連接

# 產品或項目名稱、軟件開發公司名稱
productName: JeeSite Demo
companyName: ThinkGem

# 產品版本、版權年份
productVersion: V4.1
copyrightYear: 2018

# 數據庫連接
jdbc: 

  # Mysql 數據庫配置
  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

4、若剛纔導入到的 Eclipse(IDEA) 的項目已經完成加載 jar 並無錯誤,這時你就可以執行/bin/init-data.bat(.sh)腳本初始化數據庫了,第一次執行如果遇見table xxx doesn't exist的錯誤信息,忽略即可。

5、若在初始化每一行語句的都報事務相關的錯,請檢查設置jdbc.jta.enabled=false是否關閉後,再嘗試導入。

6、如果/bin/init-data.bat(.sh)無法運行,你可以在 Eclipse 裏找到com.jeesite.test.InitData.java(v4.1.8之前版本:com.jeesite.test.InitCoreData.java)文件並打開,然後在空白處右鍵,點擊 Run As -> JUnit Test 運行單元測試,進行初始化數據庫腳本。爲了防止誤操作,你還需要:打開 Run Configurations 找到 Arguments 選項卡,在 VM arguments 裏增加 “-Djeesite.initdata=true” 參數,點擊Run運行,執行完成後建議將該單元測試 Run Configuration 刪除掉,防止誤操作,不小心再把你的有用數據清理掉(IDEA 雷同)。

啓動Tomcat服務

1、當前是 Spring Boot 工程,內部已經集成 Web 容器,你無需另外再下載 Tomcat 進行部署,只需按照以下方式進行即可。

2、打開/src/main/resources/config/application.yml文件,配置你的服務端口port、部署路徑context-path,例如:

server:
  port: 8980
  servlet:
    context-path: /jeesite-test
  tomcat:
    uri-encoding: UTF-8

v4.0.x:

server:
  port: 8980
  context-path: /jeesite-test
  tomcat:
    uri-encoding: UTF-8

3、在 Eclipse 裏找到com.jeesite.modules.Application.java(v4.0.x:com.jeesite.modules.config.Application.java)文件並打開,然後在空白處右鍵,點擊 Debug As -> Java Application 即可啓動服務。

4、若 IDEA,找到右上角 Application 運行配置,點擊 Debug Application 圖標。若啓動的時候提示NoClassDefFoundError: javax/servlet/ServletOutputStream 錯誤,你只需要修改 web 項目下的 pom.xml,註釋掉spring-boot-starter-tomcat<scope>provided</scope>即可。

5、注意使用 Debug 運行,有助於你調試程序和提升開發效率,如:修改方法內的代碼,修改視圖代碼,修改mapper代碼,是不需要重啓Web服務的。如果改變java類的結構,如果增刪屬性、方法、參數等,新增文件,這是就需要重啓服務。

部署完成測試

1、瀏覽器訪問:http://127.0.0.1:8980/jeesite-test

2、默認最高管理員賬號:system 密碼:admin

3、這時已經配置完成,開啓你的開發之旅吧

清理 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;

新建一個模塊項目

1、舉例創建 jeesite-module-test 模塊功能,拷貝模塊目錄下的 /modules/template 模板項目文件夾

2、然後在相同文件夾 /modules/ 下粘貼,並重命名爲你的模塊名,如:/modules/test

3、打開 /modules/test/pom.xml 文件,找到 jeesite-module-template 的 artifactId 元素,修改爲你的模塊名,如:jeesite-module-test

4、打開 /root/pom.xml 文件,拷貝 <module>../modules/core</module> 到新一行,修改爲你的模塊名,如:<module>../modules/test</module>

5、在你需要用到的項目引入你的新模塊,如,在 web 項目下用,則打開 /web/pom.xml 文件,加入:

<dependency>
	<groupId>com.jeesite</groupId>
	<artifactId>jeesite-module-test</artifactId>
	<version>${project.parent.version}</version>
</dependency>

6、若你使用的 Eclipse ,將該模塊導入即可。若 IDEA 會自動檢測 root 模塊的依賴,並自動導入。

7、啓動項目,打開 “系統管理 -> 系統設置 -> 模塊管理” 菜單,新建一個模塊,數據如下:

  • 模塊名稱:測試模塊
  • 模塊編碼:test
  • 主類全名:com.jeesite.modules.sys.web.LoginController (模塊下新增代碼後,修改爲模塊關鍵類的類名)

注意:主類全名是指:該模塊的狀態驗證類,如果該類檢測不存在,則該模塊狀態提示 “未安裝” ,驗證原理:Class.forName(“com.jeesite.modules.sys.web.LoginController”)

7、模塊創建完成

數據庫腳本自動升級

每個主要模塊下都有一個 versions 文件,該文件爲數據庫版本檢測的關鍵文件。 例如 core 模塊的版本檢測文件爲:/modules/core/src/main/resources/db/upgrade/core/versions 。 系統啓動時,遍歷模塊表裏的所有模塊,檢測 versions 文件的版本列表,與其當前模塊版本進行對應。 找到對應版本,則依次往下進行匹配執行升級。若匹配的版本沒有 sql 腳本,則忽略,只更新模塊版本。 若 versions 文件的版本列表中沒有匹配的版本,則提示:升級失敗,數據庫的版本可能比代碼版本新。

使用自己的包路徑

1、Application.java 的 @SpringBootApplication(scanBasePackages="包路徑") 增加你的包路徑

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

3、默認代碼生成包路徑修改:菜單系統設置->參數設置gen.defaultPackageName爲你的包名

4、打開 logback-spring.xml,配置日誌級別 <logger name="包路徑" level="DEBUG" />

5、修改完成

部署到正式服務器

1、確保正式服務器jdk1.8數據庫環境已經具備

2、配置系統環境變量JAVA_HOME指定jdk1.8路徑,注意不要包含空格

3、執行bin/package.bat(.sh)進行打成war包文件,並將此war拷貝到服務器上

4、進行解壓war包,配置yml相關參數,運行/WEB-INF/startup.bat(.sh)腳本

5、若需修改jvm參數,編輯startup.bat(.sh)修改JAVA_OPTS參數優化jvm環境

6、支持啓動參數增加-Dspring.config.location=x:/app.yml加載指定配置文件

7、若需要配置環境,則指定-Dspring.profiles.active=dev,則加載application-dev.yml屬性文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章