文档章节

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

ThinkGem
 ThinkGem
发布于 02/27 22:25
字数 1280
阅读 21559
收藏 31
点赞 11
评论 51

环境要求

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

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

评论(51)

j
jianxia612

引用来自“ThinkGem”的评论

引用来自“jianxia612”的评论

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

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

引用来自“jianxia612”的评论

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

文档里不是说了么,执行脚本建表和导入初始数据
j
jianxia612
给的开发版没有任何基础测试数据!基本用户就没有!
j
johlon1688
找不到 com.jeesite.modules.gen.db.InitGenData
public class InitGenData extends com.jeesite.modules.gen.db.InitGenData {

  @Test
  public void initGenData() throws Exception{
    createGenTable();
    initGenTestData();
    initGenTreeData();
  }

}
j
johlon1688
出错
com.jeesite.modules.gen.db cannot be resolved to a type  
The method createGenTable() is undefined for the type InitGenData
_____D
_____D

引用来自“zhkchi”的评论

作为一个老手,折腾了3小时才本地跑起来,因为文档太碎了,这也就罢了。

跑起来一看,果然和之前折腾过程的想法一样,现在的版本封装程度太高了,不适合自己用了。我想去改代码已经不可能了,只能按照框架定死的套路去开发了,显然这是不太可能的,除非是简单的增删改查系统。做为公司,我不可能把技术定死在你们这个框架上,之前的版本就非常好,自由度高,现在的,只能作为技术参考,看看,学习学习了。

还是说一句,谢谢!
赞同层主的 还是老版的好用 这4.0也就看看而已了
张三李四王五赵六
张三李四王五赵六
依旧没有在代码中找到配置sys.index.desktopUrl 的方法。。。麻烦给定位一下,文档我真的看了┭┮﹏┭┮
ThinkGem
ThinkGem

引用来自“张三李四王五赵六”的评论

如何更改默认的仪表盘页面呢?

引用来自“ThinkGem”的评论

很多种方法,简单的方法是,参数设置 菜单里找到 desktopUrl 修改地址即可

引用来自“张三李四王五赵六”的评论

代码中也可以改首页地址吗?
可以,文档里有说明
张三李四王五赵六
张三李四王五赵六

引用来自“张三李四王五赵六”的评论

如何更改默认的仪表盘页面呢?

引用来自“ThinkGem”的评论

很多种方法,简单的方法是,参数设置 菜单里找到 desktopUrl 修改地址即可
代码中也可以改首页地址吗?
ThinkGem
ThinkGem

引用来自“张三李四王五赵六”的评论

如何更改默认的仪表盘页面呢?
很多种方法,简单的方法是,参数设置 菜单里找到 desktopUrl 修改地址即可
JeeSite环境搭建及运行和打包(master20161117)

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

easonjim
2016/11/18
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
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
[急]缓存报错,内测也溢出问题

使用jeesite开发的,然后报出内存溢出还有这个缓存 ,看不太懂了 求大佬指教一下

微晨灬晨
06/28
0
0
jeesite部署时,竟然浪费了1个小时!

在家里部署jeesite,跑起来以后打开浏览器去访问可是怎么都访问不了。工程也没报错。各种尝试之后发现在家将TOMCAT 的端口改成80了 ,一直访问的是8080 所以才访问不了的。之前也想过可能是t...

无敌小学僧
2017/10/29
0
0
JeeSite 4.0.3 发布,企业级快速开发平台

新增 新增:core项目增加单元测试支持类 ApplicationTest.java 新增:代码生成config.xml支持自定义,放同目录下config-custom.xml文件即可覆盖 新增:shiro.allowRequestMethods 参数,可指...

ThinkGem
05/30
0
0
jeesite shiro+redis实现cache和session共享

jeesite这个开源框架本身集成的有shiro+redis来实现cache和session共享,但是需要修改一下文件配置即可 首先找到spring-context-shiro.xml文件 找到bean id为sessionDAO,将其修改为如下 <!...

wangxujun59
06/21
0
0
整理出一些使用比较广或者个人觉得比较好的java开源项目和资料供参考

1.整理出一些使用比较广或者个人觉得比较好的java开源项目和资料供参考。 2. 如果你觉得好但是我没有列出的开源项目请告诉我,方便我添加到列表里。 3. 如果你发现信息描述有误请联系我,我会及...

写代码的奥特曼
2017/10/23
0
0
JeeSite 4.0 说说前端的那些事

引言 一个不得不说的话题,经过近几年的发展,Web前端开发已经不是一个新有的岗位了,前端技术发展非常迅速,技术更新换代也很快,对于前端工程师来说是一个很大的挑战“挣扎期”。 从统计来...

ThinkGem
2017/11/05
0
41
jeesite访问页面时不存在

生成代码时把包路径com.thinkgem.jeesite.modules改为自己定义的,访问不了页面,我把spring-context.xml中和和扫描basePackage下所有以@MyBatisDao注解的接口都添加了自己定义的包,是不是还有...

nicele
04/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

shell中的函数、shell中的数组、告警系统需求分析

shell中的函数 格式: 格式: function f_name() { command } 函数必须要放在最前面 示例1(用来打印参数) 示例2(用于定义加法) 示例3(用于显示IP) shell中的数组 shell中的数组1 定义数...

Zhouliang6
今天
2
0
用 Scikit-Learn 和 Pandas 学习线性回归

      对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题     没有...

wangxuwei
今天
1
0
MAC安装MAVEN

一:下载maven压缩包(Zip或tar可选),解压压缩包 二:打开终端输入:vim ~/.bash_profile(如果找不到该文件新建一个:touch ./bash_profile) 三:输入i 四:输入maven环境变量配置 MAVEN_HO...

WALK_MAN
今天
0
0
33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 10.19 iptables规则备份和恢复: ~1. 保存和备份iptables规则 ~2...

王鑫linux
今天
2
0
大数据教程(2.11):keeperalived+nginx高可用集群搭建教程

上一章节博主为大家介绍了目前大型互联网项目的系统架构体系,相信大家应该注意到其中很重要的一块知识nginx技术,在本节博主将为大家分享nginx的相关技术以及配置过程。 一、nginx相关概念 ...

em_aaron
今天
1
0
Apache Directory Studio连接Weblogic内置LDAP

OBIEE默认使用Weblogic内置LDAP管理用户及组。 要整理已存在的用户及组,此前办法是导出安全数据,文本编辑器打开认证文件,使用正则表达式获取用户及组的信息。 后来想到直接用Apache Dire...

wffger
今天
2
0
HFS

FS,它是一种上传文件的软件。 专为个人用户所设计的 HTTP 档案系统 - Http File Server,如果您觉得架设 FTP Server 太麻烦,那么这个软件可以提供您更方便的档案传输系统,下载后无须安装,...

garkey
今天
1
0
Java IO类库之BufferedInputStream

一、BufferedInputStream介绍 /** * A <code>BufferedInputStream</code> adds * functionality to another input stream-namely, * the ability to buffer the input and to * sup......

老韭菜
今天
0
0
STM 32 窗口看门狗

http://bbs.elecfans.com/jishu_805708_1_1.html https://blog.csdn.net/a1985831055/article/details/77404131...

whoisliang
昨天
1
0
Dubbo解析(六)-服务调用

当dubbo消费方和提供方都发布和引用完成后,第四步就是消费方调用提供方。 还是以dubbo的DemoService举例 -- 提供方<dubbo:application name="demo-provider"/><dubbo:registry address="z...

青离
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部