文档章节

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

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

粉丝 1103
博文 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 4.0.0 开发平台社区测试版公布,欢迎大家测试反馈意见

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

ThinkGem
2018/02/25
11.4K
32
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
从网上下载jeesite项目解压后,第一次运行eclipse.bat出错

@董淳 你好,想跟你请教个问题: [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for com.thinkgem.jeesite:jee......

董淳
2018/11/21
17
0
ThinkGem/JeeSite 4.0

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

ThinkGem
2018/02/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

KaliLinuxNetHunter教程下载相关资源

KaliLinuxNetHunter教程下载相关资源 当用户将刷机工具准备完后,则需要下载ROM包。ROM是ROM image(只读内存镜像)的简称,常用于手机定制系统。一般手机刷机的过程,就是将只读内存镜像(R...

大学霸
33分钟前
1
0
C# 字符串插值

字符串插值 据说是 C# 6.0 中引入的新特性. 字符串插值允许您以更简洁易读的方式将字符串拼凑在一起. 如果在字符串的左引号前添加$,则可以在字符串中的大括号里包含字符串值,如变量等. 一些示...

taadis
57分钟前
2
0
Navicat使用教程:接收MySQL/MariaDB问题通知

下载Navicat Monitor最新版本 Navicat Monitor 是一套安全、简单而且无代理的远程服务器监控工具。它具有强大的功能使你的监控发挥最大效用。受监控的服务器包括 MySQL、MariaDB 和 Percona ...

电池盒
59分钟前
3
0
我是怎样和Linux系统结缘并通过红帽RHCE认证的

我高考完当时就是选择的计算机科学与技术专业,上大学以后联想到的和计算机相关的就只有写代码,开发,网站,网页设计,就没有其他的了,当时学习写代码也都是在Windows上,什么C#、C++之类的...

Linux就该这么学
今天
5
0
hbase的web页面访问

hbase1.1版本web页面默认不开放 在hbase-site.xml中加入一下内容即可 <!-- 新增的配置 --><property><name>hbase.master.info.port</name><value>60010</value></property> 借鉴htt......

你为什么不吃药
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部