快速开始、环境搭建、修改包名、新建模块、正式部署
开发环境要求
1、Java SDK 1.8 或 11、17 下载1 下载2 下载3
2、Apache Maven 3.6+ 下载 (Maven 3.8+ 请删除 settings.xml 里的 mirror
配置)
3、Eclipse for Java EE 下载 或 Spring Tools 下载 或 IntelliJ IDEA 下载 (根据个人喜好选择)
4、MySql 8.0 下载 或 5.7.11+ 下载 (Oracle、PostgreSQL、Sql Server 操作类似)
5、Git 下载 、TortoiseGit 下载
#导入到 Eclipse 或 IDEA
1、获取 JeeSite 源代码:
检出源代码:
git clone https://gitee.com/kaopeiyi-independent-edition/guanwang.git
查看本地分支:
git branch
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:点击 Open 或 Import Project,选择 pom.xml
文件(若包含所有源码包,你需要选择 jeesite/root/pom.xml
文件),点击 Next 按钮,选择 Import Maven projects automatically
复选框,然后一直点击 Next 按钮,直到点击 Finish 按钮,即可成功导入。
6、这时,Eclipse(IDEA)会自动加载 Maven 依赖包,初次加载会比较慢(根据自身网络情况而定),若工程上有小叉号,请打开 Problems 窗口,查看具体错误内容,直到无错误为止。
7、下载依赖jar文件的过程中,你可以准备数据库环境了
初始化数据库
JeeSite 采用自动数据库初始化程序,根据用户创建的数据库账号自动完成表结构和初始数据。无需自行执行 SQL 文件进行初始化,此举为了更方便的导入不同类型的数据库,如 MySQL、Oracle、SqlServer、PostgreSQL 等,不用维护多种类型数据库的 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;
2、 打开文件 /src/main/resources/config/application.yml
(v4.0:jeesite.yml
) 配置产品和项目名称及 JDBC 连接
## 产品或项目名称、软件开发公司名称
productName: 修改为你的产品名称
companyName: 修改为你的公司名全称
## 产品版本、版权年份
productVersion: V4.3
copyrightYear: 2022
## 数据库连接
jdbc:
# MySql 数据库配置(提示:v4.2 及之后使用 MySql 8.x 驱动类的配置方法)
type: mysql
driver: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/jeesite?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=UTC
username: root
password: 123456
testSql: SELECT 1
## MySql 数据库配置(提示:v4.1 及之前使用 MySql 5.x 驱动类的配置方法)
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
3、若刚才导入到的 Eclipse(IDEA) 的项目,Maven 依赖已经完成编译并无错误,这时你就可以执行 /bin/init-data.bat(sh)
脚本初始化数据库了,按提示操作,v4.2.x 之后版本的初始化数据不会清空数据,如果已经初始化,将会自动忽略。若 v4.1.x 旧版本遇见 table xxx doesn't exist
的错误信息,忽略即可。
4、如果 /bin/init-data.bat(sh)
无法运行,你可以在 Eclipse 或 IDEA 里找到 com.jeesite.test.InitData.java
文件并打开,若 v4.1.8 之前版本找 com.jeesite.test.InitCoreData.java
文件。然后在空白处右键,点击 Run As -> JUnit Test
运行单元测试,进行初始化数据库脚本。提示:v4.2.0 之前版本:为了防止误操作,你还需要:打开 Run Configurations 找到 Arguments 选项卡,在 VM arguments 里增加 “-Djeesite.initdata=true” 参数,点击Run运行,执行完成后建议将该单元测试 Run Configuration 删除掉,防止误操作,不小心再把你的有用数据清理掉。
启动服务
1、当前是 Spring Boot 工程,内部已经集成 Web 容器,你无需另外再下载 Tomcat 进行部署,只需按照以下方式进行即可。
2、打开/src/main/resources/config/application.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
3、Eclipse:找到 Application.java
(专业版:ProApplication.java
)启动文件并打开,然后在空白处右键,点击 Debug As -> Java Application 即可启动服务。
4、IDEA:右上选择 Application
(专业版:ProApplication
)运行配置,点击 Debug 图标,启动服务。如果启动的时候提示 NoClassDefFoundError: javax/servlet/ServletOutputStream
错误,请修改 web 项目下的 pom.xml,注释掉 spring-boot-starter-tomcat
的 <scope>provided</scope>
即可。
部署完成测试运行
1、浏览器访问:http://127.0.0.1:8980/js
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;