文档章节

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

ThinkGem
 ThinkGem
发布于 02/27 22:25
字数 1280
阅读 24626
收藏 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

粉丝 965
博文 136
码字总数 21994
作品 1
济南
架构师
加载中

评论(59)

秋名山蹦迪

引用来自“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 参数,初始化数据失败
j
jianxia612

引用来自“ThinkGem”的评论

引用来自“jianxia612”的评论

给的开发版没有任何基础测试数据!基本用户就没有!

文档里不是说了么,执行脚本建表和导入初始数据
未提供测试基础数据,只有test data的数据是其他demo使用的!
ThinkGem
ThinkGem

引用来自“jianxia612”的评论

给的开发版没有任何基础测试数据!基本用户就没有!

文档里不是说了么,执行脚本建表和导入初始数据
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
ThinkGem/JeeSite 4.0 JFlow工作流引擎-表单引擎

项目介绍 jeesite4-jflow jeesite4-JFlow 是jeesite集成JFlow的版本. 您即可以使用jeesite的敏捷性开发,也可以使用JFlow的流程引擎,表单引擎的功能. 我们已经把jeesite与jflow的组织结构集...

ThinkGem
08/15
0
0
JeeSite4.0,一直报这个问题,求解释

DEBUG [com.jeesite.common.io.PropertiesUtils] - Loading jeesite config: [classpath:/config/jeesite-core.yml, classpath:config/jeesite.yml, classpath:config/application.yml, clas......

陈豫
05/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 恨不得给你买张飞机挂票

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @开源中国首席灵魂师:分享张希/曹方的单曲《认真地老去》 来不及认真的年轻过,就认真的老去! 《认真地老去》- 张希/曹方 手机党少年们想听...

小小编辑
28分钟前
43
5
如何实现靠谱的分布式锁?

分布式锁,是用来控制分布式系统中互斥访问共享资源的一种手段,从而避免并行导致的结果不可控。基本的实现原理和单进程锁是一致的,通过一个共享标识来确定唯一性,对共享标识进行修改时能够...

郑加威
今天
1
0
Mac OS X下Maven的安装与配置

Mac OS X 安装Maven: 下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后...

TonyStarkSir
今天
3
0
关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
今天
4
0
打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部