文档章节

JeeSite 4.0 开发环境部署运行调试(Eclipse)

ThinkGem
 ThinkGem
发布于 02/27 22:25
字数 1280
阅读 27025
收藏 31

环境要求

1、Java SDK 1.8 下载

2、Eclipse IDE for Java EE Mars 2 (4.5.2) 下载

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模式,否则建表的时候可能会出现问题

set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

2、 创建用户和授权

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连接

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: 8080
  context-path: /jeesite
  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

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

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

清理Demo数据

为了演示方法,初始化数据库后会载入一些演示数据,执行以下脚本即可清理

DELETE FROM js_sys_company;
DELETE FROM js_sys_office;
DELETE FROM js_sys_post;
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;

常见问题

  • 管理员账号system与admin的区别:system为开发者使用的最高级别管理员,主要用于开发和调试,有些修改会直接影响系统的正常运行;admin为客户方使用的系统管理员,用于一些基础数据配置,如机构、用户、权限、用户字典等。

  • 下载不到jeesite-xxx.jar依赖包:相关包已经发布到Sonatype Repository仓库,在web项目的pom.xml里已配置,由于相关core项目的pom.xml里没有配置仓库地址,所以你需要根据【快速体验->本地运行】操作一遍,预先下载下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按钮即可。

今后如何升级?

尽量不修改web项目以外的源码项目,如jeesite-common、jeesite-modele-core,如果修改了,请尽量 Pull Requests 上来,否则代码编码将与官方不同步,将对你的日后升级带来困难。

JeeSite的小版本(4.0.x)升级是非常便捷的,你只需要进行Maven快照强制更新,即可将最新版的依赖jar更新到本地,下面介绍一下在Eclipse里如何操作:

在web项目上右键,选择菜单 -> Maven -> Update Project...(或按Alt+F5) -> 点击 Select All 按钮 -> 选择 Force Update of Snapshots/Releases 复选框 -> 点击OK按钮即可。

如果进行相对大的版本(4.x.x)升级这里我们会附加一个声明,帮助你进行迁移操作。

© 著作权归作者所有

共有 人打赏支持
ThinkGem

ThinkGem

粉丝 1022
博文 138
码字总数 24109
作品 2
济南
架构师
私信 提问
加载中

评论(61)

ThinkGem
ThinkGem
初始数据没有导入,根据错误找问题
x
xianyuyan
我执行初始化后在最后报InitGenData执行错误,但是还是可以运行源码,并打开网页,就是system账号无法登录,这种情况怎么办
秋名山蹦迪

引用来自“knightluk”的评论

为了防止误操作,请运行时增加 -Djeesite.initdata=true 参数,初始化数据失败

引用来自“五十度黑”的评论

打开idea,点击修改tomcat服务器,选择junit,在VM options文本框中加入 -Djeesite.initdata=true
eclipse怎么加呢
追风少年201
没有比这个完美的了
五十度黑

引用来自“knightluk”的评论

为了防止误操作,请运行时增加 -Djeesite.initdata=true 参数,初始化数据失败
打开idea,点击修改tomcat服务器,选择junit,在VM options文本框中加入 -Djeesite.initdata=true
五十度黑

引用来自“knightluk”的评论

为了防止误操作,请运行时增加 -Djeesite.initdata=true 参数,初始化数据失败
在内置的tomcat服务器,选择junit测试,在vm options 文本框中加入-Djeesite.initdata=true
五十度黑

引用来自“五十度黑”的评论

java.lang.RuntimeException: 为了防止误操作,请运行时增加 -Djeesite.initdata=true 参数。

  at com.jeesite.common.tests.BaseInitDataTests.begin(pf:72)
  at com.jeesite.modules.sys.db.InitCoreData.begin(InitCoreData.java:64)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
  at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
  at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
  at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
  at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
  at org.junit.internal.runners
这是几个意思?
五十度黑
java.lang.RuntimeException: 为了防止误操作,请运行时增加 -Djeesite.initdata=true 参数。

  at com.jeesite.common.tests.BaseInitDataTests.begin(pf:72)
  at com.jeesite.modules.sys.db.InitCoreData.begin(InitCoreData.java:64)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
  at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
  at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
  at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
  at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
  at org.junit.internal.runners
LXY126
LXY126
如何重启服务?
k
knightluk
为了防止误操作,请运行时增加 -Djeesite.initdata=true 参数,初始化数据失败
jeesite配置指南(官方文档有坑,我把坑填了!)

版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/72871340 昨天,远在苏州的朋友找我一起做个私活,主要用到jeesite。 说实话,开发了这么多年的...

qing_gee
2017/06/05
0
0
JeeSite环境搭建及运行和打包(master20161117)

涉及的软件: 1、phpStudy(主要用MySql) 2、maven3(用于依赖包,下面我将上传已经下载好所有依赖包的版本,保证运行正常) 具体操作: 0、前言 由于GitHub上的Release版本没有及时更新,所...

easonjim
2016/11/18
0
0
ThinkGem/JeeSite 4.0

引言 JeeSite 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring MVC、Apache Shiro、MyBatis、Beetl、Bootstrap、AdminLTE),在线代码生成功能,包括核心模块如:...

ThinkGem
02/25
0
0
jeesite 快速开发平台 初体验

http://www.jeesite.com/ GitHub:https://github.com/thinkgem/jeesite 开源中国:http://git.oschina.net/thinkgem/jeesite 更多文档 https://github.com/thinkgem/jeesite/tree/master/do......

晨猫
05/21
0
0
分布式系统套件的整合 - JeeSite Spring Cloud

引言 JeeSite Spring Cloud 是基于 Spring Cloud Finchley 的一个分布式系统套件的整合。 特点:用经典开发模式,开发分布式应用,两个字【简单】,一个字【快】。 技术选型 分布式系统主框架...

ThinkGem
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

2135亿背后的双11项目协作怎么玩?

2018天猫双11已经收官,2135亿元的成交额再度刷新纪录,这是一场阿里巴巴经济体的深度协作。 在这个大协作项目中,项目协作难题难以想象:如何保证众多部门、百个核心产品、千个垂直项目、几...

阿里云云栖社区
8分钟前
0
0
Golang MD5 加密使用方法

用法一: str:="123456"data:=[]byte(str)h := md5.New()h.Write(data)output := h.Sum(nil)fmt.Println(fmt.Sprintf("%x",output)) 结果: e10adc3949ba59abbe56e057f20f883e 用......

lwkai
14分钟前
0
0
揭秘 | 双11逆天记录背后的数据库技术革新

每一个数字背后 都需要强大的技术支撑 Higher, Faster, Smarter 是我们不变的追求 技术无边界 创新无止境 原文链接

阿里云官方博客
18分钟前
0
0
深入解析React-redux插件入门

react-redux是使用redux开发react时使用的一个插件,另外插一句,redux不是react的产品,vue和angular中也可以使用redux;下面简单讲解,如何使用react-redux来开发react。 描述 这个插件可以...

前端攻城老湿
22分钟前
0
0
创建定长code

前言 有的时候我们需要基于现有的code进行改造,但是改造的一个前提可能是对于code长度有一定的要求,比如我们做分库分表,准备在code上做文章。 由于历史原因不同的渠道产生的code有几种不同...

春哥大魔王的博客
24分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部