4dfd27c785cee4673bddbc638f57d3ba7d0dccfe
中文 | English
Jiscuss
基于java的简单论坛系统,Jiscuss = Java + Discuss。
预览
简介
基于JAVA,使用SpringBoot + H2 Database + Semantic-UI + Freemarker 构建,官网:[www.jiscuss.com]
在线体验
部署
[一]、开发环境配置
// 需jdk 1.8以上,maven3以上。
[二]、下载代码
// Github - https://gitee.com/chuyaoyuan/Jiscuss.git
// Gitee - https://github.com/Chuyaoyuan/Jiscuss.git
[三]、运行启动(默认使用H2数据库,可以在配置文件切换MYSQL)
// 1、代码导入IDE
// 2、启动服务
// 4、访问地址
http://localhost
说明:以上为原始快速启动说明。当前升级后的 v2.0 分支已迁移到 Spring Boot 3,推荐使用 JDK 17 运行;旧版本中的 JDK 1.8 说明仅适用于早期分支。
当前升级版本说明
当前代码已完成 Spring Boot 3 兼容升级,主要技术栈如下:
- Java 17
- Spring Boot 3.3.5
- Spring Security 6
- Spring Data JPA / Hibernate 6
- FreeMarker
- H2 Database(开发环境默认)
- MySQL 8(生产/外部数据库环境)
- Flyway(数据库版本迁移)
- SpringDoc OpenAPI(替代 Springfox Swagger)
- Ehcache 3 + JCache
- Druid Spring Boot 3 Starter
- MapStruct
环境要求
- JDK:17+
- Maven:3.8+
- MySQL:8.x(仅 mysql profile 需要)
检查本地环境:
java -version
javac -version
mvn -version
构建与启动
使用默认 H2 开发环境
项目默认激活 h2 profile:
mvn spring-boot:run
访问:
http://localhost
如果本机 Linux 普通用户无法绑定 80 端口,可以临时指定其他端口:
mvn spring-boot:run -Dspring-boot.run.arguments="--server.port=8080"
然后访问:
http://localhost:8080
使用 MySQL 环境
- 创建数据库:
CREATE DATABASE jiscuss DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- 修改配置文件:
src/main/resources/application-mysql.yml
根据实际环境修改:
spring.datasource.urlspring.datasource.usernamespring.datasource.password
- 启动 mysql profile:
mvn spring-boot:run -Dspring-boot.run.profiles=mysql
数据库迁移说明
项目已使用 Flyway 接管数据库初始化和后续变更,迁移脚本位于:
src/main/resources/db/migration/
当前迁移文件:
V1__init_schema.sql:初始化表结构和基础数据V2__security_updates.sql:安全相关字段/数据升级
注意:旧的 schema.sql 和 data.sql 已不再使用,避免与 Flyway 重复初始化。
安全与管理端点
- 登录认证已迁移到 Spring Security 6 配置方式。
/admin/**、/actuator/**、/druid/**需要管理员角色访问。- H2 Console 默认关闭;如需开发调试,可显式开启:
mvn spring-boot:run -Dspring-boot.run.arguments="--spring.h2.console.enabled=true"
- OpenAPI 文档地址:
http://localhost/swagger-ui.html
http://localhost/v3/api-docs
网络不佳时的构建建议
如果依赖已经下载到本地 Maven 仓库,可以使用离线模式:
mvn -o -DskipTests compile
如果首次构建尚未下载 Spring Boot 3.3.5 等依赖,离线模式会失败,需要在网络可用时先执行一次:
mvn -DskipTests compile
国内网络环境可配置 Maven 镜像源后再构建。依赖下载完成后,后续即可使用 mvn -o 离线构建。
常用检查命令
编译检查:
mvn -DskipTests compile
打包:
mvn -DskipTests package
运行 jar:
java -jar target/jiscuss-0.0.1-SNAPSHOT.jar
升级注意事项
- Spring Boot 3 使用
jakarta.*命名空间,旧的javax.servlet、javax.persistence、javax.validation不再使用。 - Hibernate 6 可自动识别数据库方言,配置中无需手动指定
database-platform。 - MySQL 连接已移除不推荐的
autoReconnect=true。 - JSON 响应优先使用 Spring MVC + Jackson 自动序列化,不再依赖
org.json。 - WebSocket starter 已移除;如后续确实需要实时通信,再按功能重新引入。
[四]、开源协议
Description
Languages
Java
65.9%
HTML
34.1%

