jeecg单体启动

本文详细介绍了JeecgBoot项目的源代码目录结构,包括后端和前端的模块划分。对于开发,首先需要初始化数据库,修改配置文件,并执行Maven构建。前端部分涉及环境配置、依赖安装、打包和部署。线上部署时,需制作前后端Docker镜像,并在K8S环境中部署。最后,提供了默认的账号密码信息和常见问题解答。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:
http://www.jeecg.com/
JeecgBoot开发文档
https://github.com/jeecgboot/jeecg-boot

最近项目想要使用jeecg代码脚手架进行开发,故对此进行了学习。

  • JeecgBoot是一款基于BPM的低代码平台!
  • 前后端分离架构 SpringBoot 2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服务
  • 强大的代码生成器让前后端代码一键生成,实现低代码开发!
  • JeecgBoot引领新低代码开发模式 OnlineCoding-> 代码生成器-> 手工MERGE
  • 一系列低代码能力:Online表单、Online报表、Online图表、表单设计、流程设计、报表设计、大屏设计 等等…

源代码目录结构

可通过https://github.com/jeecgboot/jeecg-boot下载JeecgBoot相关源码,其源码结构如下:
在这里插入图片描述
后端代码目录结构如下

项目结构
├─ jeecg-boot-parent(父POM: 项目依赖、modules组织)
│  ├─ jeecg-boot-base(共通模块: 工具类、config、权限、查询过滤器、注解、接口等)
│  ├─ jeecg-boot-module-demo    示例代码
│  ├─ jeecg-boot-module-system (系统管理权限等功能) -- 默认作为启动项目
│  ├─ jeecg-boot-starter(微服务starter模块,不需要微服务可以删掉)  
│  │  ├── jeecg-boot-starter-cloud       -- 微服务启动starter
│  │  ├── jeecg-boot-starter-job         -- xxl-job定时任务starter
│  │  ├── jeecg-boot-starter-lock        -- 分布式锁starter
│  │  ├── jeecg-boot-starter-rabbitmq    -- 消息中间件starter
│  │  ├── jeecg-boot-starter-redis       -- redis缓存starter
│  ├─ jeecg-cloud-module(微服务生态模块,不需要微服务可以删掉) 
│  │  ├── jeecg-cloud-nacos         --Nacos服务模块(8848)
│  │  ├── jeecg-cloud-gateway       --微服务网关模块(9999)
│  │  ├── jeecg-cloud-monitor       --微服务监控模块 (9111)
│  │  ├── jeecg-cloud-system-start  --System微服务启动项目(7001)(采用此项目启动system就变成了微服务)
│  │  ├── jeecg-cloud-xxljob        --微服务xxljob定时任务服务端 (9080)
jeecg-cloud-module
jeecg-boot-starter
jeecg-boot-base
jeecg-boot-base-api
jeecg-cloud-gateway
jeecg-cloud-monitor
jeecg-cloud-nacos
jeecg-cloud-sentinel
jeecg-cloud-system-start
jeecg-cloud-xxljob
jeecg-boot-starter-cloud
jeecg-boot-starter-job
jeecg-boot-starter-lock
jeecg-boot-starter-rabbitmq
jeecg-boot-base-tools
jeecg-boot-base-core
jeecg-system-cloud-api
jeecg-system-local-api
jeecg-boot-module-system
jeecg-boot-module-demo

单体启动

在使用JeecgBoot进行开发前的首要任务,就是先把JeecgBoot脚手架启动起来,启动方式分为单体、微服务模式,
为了快速入门,可以先通过单体模式启动,后续到生产环境时再启用微服务模式。

后端

在这里插入图片描述

(1)初始导入jeecg系统DB
执行jeecg-boot/db/jeecgboot-mysql-5.7.sql,可选择本地或其他环境mysql数据库,
之后需保证后续mysql连接配置和所选DB一致即可。

(2)修改启动配置jeecg-boot-module-system中application-dev|test|prod.yml
修改mysql(即第(1)步中初始化的DB)、redis连接(自搭建或其他可用redis)、文件上传位置配置
在这里插入图片描述
(3)执行maven install -P
需要替换maven settings.xml文件中mirrors为如下内容

<mirrors>
       <mirror>
            <id>nexus-aliyun</id>
            <mirrorOf>*,!jeecg,!jeecg-snapshots,!getui-nexus</mirrorOf>
            <name>Nexus aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror> 
 </mirrors>

执行如下命名进行构建

# 默认构建dev
maven install -Dmaven.test.skip=true -P dev
# 可通过-P进行切换
maven install -Dmaven.test.skip=true -P test
maven install -Dmaven.test.skip=true -P prod

注:
-P指定的profile即对应第(2)步中application-{profile}.yml,
即-P指定构建那个profile,那就修改对应的application-{profile}.yml文件,
例如maven install -Dmaven.test.skip=true -P test,则需修改jeecg-boot-module-system中application-test.yml配置文件
在这里插入图片描述

(4)右键执行启动jeecg-boot-module-system/src/main/java/org/jeecg/JeecgSystemApplication.java

启动成功后即可访问:

Druid监控
http://localhost:8080/jeecg-boot/druid
账号密码:admin / 123456

在线接口文档swagger
http://localhost:8080/jeecg-boot/doc.html
账号密码:jeecg / jeecg1314

前端

在这里插入图片描述

(1)安装nodejs
可以去官网下载安装包自行安装,安装完成后设置nodejs镜像库

# npm镜像
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global

(2)安装yarn

npm i yarn -g

设置yarn镜像库

# yarn镜像
yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global

(3)前端下载依赖yarn install
在前端项目根目录ant-design-vue-jeecg执行如下命令

yarn install

本地启动

(4)修改配置文件env.development
修改env.development中连接为后端连接,如下VUE_APP_API_BASE_URL即对应我们之前启动的后端服务,其他配置暂且不用修改

NODE_ENV=development
VUE_APP_API_BASE_URL=http://localhost:8080/jeecg-boot
VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas
VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreviewyarn install

(5)点击命令serve启动前端
在这里插入图片描述
如下即为启动成功
在这里插入图片描述
启动成功后即可访问:

前端管理界面
http://localhost:3000
账号密码: admin / 123456

前端打包发布build

(4)修改配置文件env.production
修改env.production中连接为后端连接,如下VUE_APP_API_BASE_URL即对应我们线上环境启动的后端服务,其他配置暂且不用修改

NODE_ENV=production
VUE_APP_API_BASE_URL=http://localhost:8080/jeecg-boot
VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas
VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreviewyarn install

(5)执行npm run build
在这里插入图片描述
build完成后台会生成一个dist的目录该目录下即为build后的文件。

(3)部署nginx服务器
例如将dist目录拷贝到服务器/nodejs/dist目录下,则对应的nginx配置如下:

server {
		listen       80;
		server_name  localhost;

		#后台服务配置,配置了这个location便可以通过http://域名/jeecg-boot/xxxx 访问		
		location ^~ /jeecg-boot {
			proxy_pass              http://127.0.0.1:8080/jeecg-boot/;
			proxy_set_header        Host 127.0.0.1;
			proxy_set_header        X-Real-IP $remote_addr;
			proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
		}
		#解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题
		location / {
			# 官方示例给的html目录,即将dist文件拷贝到/etc/nginx/html目录下(nginx安装目录下html文件夹)
			# root   html;
			# 实际root存放位置及对应项目build完成后dist存放目录,及之前提到的/nodejs/dist目录
			root /nodejs/dist;
			index  index.html index.htm;
			if (!-e $request_filename) {
				rewrite ^(.*)$ /index.html?s=$1 last;
				break;
			}
		}
	}

亦可使nginx开启压缩,提高首页访问效率,nginx.conf 的 http 中加入以下片断

# gzip config
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";

在这里插入图片描述

线上基于K8S部署单体JeecgBoot

本地启动成功后,仅适用于本地开发调试,
为了给公司小伙伴提供一个统一的学习测试用的Jeecgboot平台,最终需要将该jeecg单体应用部署到线上K8s环境中。

有了之前的前、后端启动经验,接下来要做的就是:

修改代码配置为线上环境相关配置

  • 初始导入线上环境jeecg系统DB
  • 修改后端jeecg-boot-module-system中application-test.yml中mysql、redis连接配置对应线上环境
  • 修改前端配置文件env.production,使其中配置指向线上部署后的后端服务URL

制作后端docker镜像

  • 构建后端:maven install -Dmaven.test.skip=true -P test
  • 获取jeecg-boot-module-system-2.4.6.jar
  • 使用已有或者自制Java docker镜像,然后将jeecg-boot-module-system-2.4.6.jar拷贝到镜像中,通过java -jar命令启动
  • 提交并推送新制作的后端docker镜像到镜像仓库

制作前端docker镜像

  • 执行npm run build
  • 使用已有或者自制nginx docker镜像,然后将/dist目录拷贝到镜像中,修改nginx相应配置
  • 提交并推送新制作的前端docker镜像到镜像仓库

k8s部署前后端

  • 后端基于Demployment + NodePort Service进行编排
  • 前端基于Demployment + NodePort Service进行编排

访问JeecgBoot

通过K8s NodePort Service,即可将对应服务的NodePort端口暴露在K8s集群的任一节点上,
例如后端服务NodePort为20505,前端服务的NodePort为20404,K8s集群中存在节点192.168.1.16,则:
后端服务URL:http://192.168.1.16:20505/jeecg-boot/druid, http://192.168.1.16:20505/jeecg-boot/doc.html
前端服务URL:http://192.168.1.16:20404

默认账号密码

后端Druid监控
http://localhost:8080/jeecg-boot/druid
账号密码:admin / 123456

后端在线接口文档swagger
http://localhost:8080/jeecg-boot/doc.html
账号密码:jeecg / jeecg1314

前端管理界面
http://localhost:3000
账号密码: admin / 123456

问题汇总

参考:
CSDN - Jeecg官方博客 - JeecgBoot 常见问题Q&A

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗小爬EX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值