开发入门

REBUILD 开源版本使用 GPL-3.0 协议,用户可在 GPL-3.0 协议约定内对源代码进行开发修改,但必须遵守 GPL-3.0 协议约定。在 GPL-3.0 协议中约定“您必须对修改的源码进行开源,且同样采用 GPL-3.0 协议”。如果您无法遵守,请立即停止对本系统进行开发修改,并立即删除所有相关代码,否则将承担相应法律责任,请您审慎进行。
更多请详情参阅 《用户服务协议》

获取源码

RB 源码托关于 GitHub,主页是 getrebuild/rebuild 或使用 Gitee。如果您只想使用而非获取源码进行二次开发,可以直接下载最新的发行版本后进行 安装

环境准备

RB 对于开发环境的要求很简单,由于使用 Java 开发,因此可以运行在几乎所有操作系统上。请按如下清单准备:

  • JDK 1.8+(兼容 OpenJDK)
  • MySQL 5.6+
  • Redis 3.2+(非必须,默认使用内建的 Ehcache 缓存)
  • Apache Maven 3.6+
  • Tomcat 8.0+(非必须,默认使用 SpringBooot 内置 Tomcat)
  • IDEA 或 Eclipse (for JEE)

! RB 目前仅支持 MySQL 8 的 mysql_native_password 认证模式

开发部署

1. 启动参数

RB 中有几个非常重要的启动参数需要了解,无论是开发还是运行都非常重要。

参数 说明 默认值
-Drbdev 开发模式下设为 true 会启用众多开发特性 false

? 如未指定 rbdevtrueyes,首次启动会进入 安装模式

2. 初始化数据库

在项目目录下找到 src/main/resources/scripts/db-init.sql 文件,此数据库脚本文件包括三部分:

  1. 数据库和用户(请注意此部分默认是被注释的,首次使用请取消注释
  2. 初始数据

直接将此文件导入到 MySQL 数据库中。

3. 导入 IDEA/Eclipse 进行开发

直接使用 IDEA 或 Eclipse(for JEE) 将其作为 Maven 项目导入即可。

4. 启动

BootApplication 为 SpringBoot 启动类(jar 模式),此类同时兼容外置 Tomcat 启动(war 模式)。如需使用外置 Tomcat 请将 pom.xml 文件中注释为 UNCOMMENT USE TOMCAT 的下一行取消注释。

技术说明

主要目录

|- src/main/java ............................ Java 代码
|- src/main/resources ....................... 资源目录
|- src/main/resources/web ................... 前端 HTML
|- src/main/resources/web/assets ............ 前端 JS/CSS/图片
|- src/main/resources/i18n .................. 多语言
|- src/main/resources/scripts ............... 数据库脚本
|- src/test ................................. 单元测试
|- .deploy .................................. JS/CSS 转码/压缩配置(仅打包时使用)

application.yml

RB 提供了两个 SpringBoot 配置文件,其中 application-dev.yml 在开发模式(见上文 启动参数)下启用,此文件有一些特别的配置。

# MySQL 配置
db.url: jdbc:mysql://127.0.0.1:3306/rebuild20?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useSSL=false&sessionVariables=default_storage_engine=InnoDB
db.user: rebuild
db.passwd: rebuild

# Redis 配置(可选)
db.CacheHost: 127.0.0.1
db.CachePort: 6379
db.CachePassword:

rebuild 开头的参数为第三方云服务配置,包括七牛云存储、赛邮短信和邮件,这些参数不是必须的,如果您暂时没有这些云服务的账号或者不需要,则可以忽略或将其删除。

rebuild:
  # Cloud Storage - Use https://www.qiniu.com/
  StorageURL: //qn-cdn.getrebuild.com/
  StorageBucket: rb-cdn
  StorageApiKey: AES(zYkDunIsyaZd71rZoW1KPtJPIutYBsBqNaZxpE+4xNl9urgpG+Py0Q0w5m2+Z72e)
  StorageApiSecret: AES(Ke7e7qzT+5F2HC3C/89a5Aq+UopTPHygiSpPfnQjnSrpxgUtiSlauQbPnowtl+ew)
  ...

主要框架

框架 作用 备注
spring-boot AOP/Context 等
spring-mvc Web Controller Web 接入
persist4j 持久层 动态元数据,AJQL 支持
commons 工具包
bizz 权限包
druid 数据库连接池
thymeleaf 页面模版
easy-excel/poi 报表
bootstrap 基础样式库 进行过深度定制
jquery 前端支持
react 前端组件支持 大部分页面组件都由此编写
react-router 手机版前端路由
echarts 图表组件

更多第三方框架后端参见 pom.xml 文件, 前端参见 lib 目录

架构总览

开发支持

如您需要更加全面的开发支持,请购买 旗舰版,同时还可以获得全部的源代码。

该文档内容对您是否有帮助?没有
您也可以通过 社区群组 向我们反馈问题
Updated 2024-05-21
目录