本人小白一个,公司要开发一个下单系统,项目周期比较短,两周时间。重新开发已经是不可能的了。部门的工程师建议用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+ 下载
1、检出JeeSite4源代码:
git clone https://gitee.com/thinkgem/jeesite4.git
2、拷贝web
文件夹,到你的工作目录(不包含中文和空格的目录)下,重命名为你的工程名,如:jeesite-demo
3、打开pom.xml
文件,修改第13行,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、 创建用户和授权
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.java
和com.jeesite.test.InitGenData.java
两个文件并打开,然后在空白处右键,点击 Run As -> JUnit Test 运行单元测试进行初始化数据库脚本。
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、这时已经配置完成,开启你的开发之旅吧
为了演示方法,初始化数据库后会载入一些演示数据,执行以下脚本即可清理
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、Application.java
的 scanBasePackages
增加您的包路径
2、jeesite.yml
中找到 mybatis: scanBasePackage:
增加您的包路径,用逗号隔开
3、默认代码生成包路径修改:菜单系统设置->参数设置
的gen.defaultPackageName
为您的包名
4、完成
下载不到jeesite-xxx.jar
依赖包:相关包已经发布到Sonatype Repository
快照仓库,在web
项目的pom.xml
里已配置,有可能是你的 Maven setting.xml
里添加了mirror
或repository
导致的问题,请清理或追加添加Sonatype Repository
仓库地址,再尝试执行 /web/bin/package.bat
脚本,预先下载依赖jar包即可。
IntelliJ IDEA中提示NoClassDefFoundError: javax/servlet/ServletOutputStream
错误,你只需要修改web项目下的pom.xml,注释掉spring-boot-starter-tomcat
的
部分改为
即可。
出现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 publishing
和Pushlish 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进去。
注意项目路径不能有空格和中文
open进来之后,系统会提示你导入maven的依赖,直接选择自动导入就可以了,接着按照官方文档的操作改一下配置,初始化一下数据库,就可以开始你的开发之旅了。(注意导进IDEA是一定要把maven的依赖更新,当时我就是没更新,硬生生的被卡了两天,萌新表示很难受)。
笔记在接下来的开发当中还会更新,本人技术较水,不喜勿喷,谢谢!