jeesite 4.0 学习笔记(一)

本人小白一个,公司要开发一个下单系统,项目周期比较短,两周时间。重新开发已经是不可能的了。部门的工程师建议用jeesite快速开发框架。去官网看了一下,http://www.jeesite.com/,感觉还ok。

jeesite 4.0 学习笔记(一)_第1张图片

框架已经更新到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为你的工程名,如:jeesite-demo

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、 创建用户和授权

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_general_ci;  
grant all privileges on 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类的结构,如果增删属性、方法、参数等,新增文件,这是就需要重启服务了。

浏览器访问

1、地址:http://127.0.0.1:8980/jeesite-demo

2、默认最高管理员账号:system 密码:admin

5、这时已经配置完成,开启你的开发之旅吧

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

使用自己的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-tomcatprovided部分改为compile即可。

  • 出现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 服务,进入设置,找到Server Options给以下选项Serve models without publishingPushlish module contexts to separate XML files打钩即可

  • IntelliJ IDEA中必须修文件必须重启才可以:https://zhidao.baidu.com/question/937483908412056332.html

跟着官方文档导入进去Eclipse中,正常启动,可以用。但是公司要求用IDEA开发啊,那我就顺势导进IDEA,一导入才知道,又是一堆问题。百度上也没有具体方法,让我这样的小白很是头痛,鼓捣了两天,终于jeesite在IDEA跑起来了,分享一下方法。

首先环境,路径,源码这些和官方文档上的一样,那我就从检出JeeSite4源代码哪里开始。在这里要弄清楚Jeesite的架构,他们里面是可以自动生成代码的,只要把生成的代码和你自己二次开发的代码放到web的项目下,这样他就可以变成你的项目。

废话不多说,直接开始行动。官网推荐只需导web项目进去就可以,但是我想看其他模式的源码,就选择把整个项目open进去。

jeesite 4.0 学习笔记(一)_第2张图片

注意项目路径不能有空格和中文


open进来之后,系统会提示你导入maven的依赖,直接选择自动导入就可以了,接着按照官方文档的操作改一下配置,初始化一下数据库,就可以开始你的开发之旅了。(注意导进IDEA是一定要把maven的依赖更新,当时我就是没更新,硬生生的被卡了两天,萌新表示很难受)。

笔记在接下来的开发当中还会更新,本人技术较水,不喜勿喷,谢谢!

你可能感兴趣的:(软件开发)