引言:为什么选择微课堂4.4?

微课堂(MicroClass)作为一个开源的在线教育平台,以其轻量级、易部署和功能丰富而闻名。版本4.4是目前较为稳定的迭代版本,修复了早期版本中的诸多Bug,并引入了更现代化的前端框架。对于新手开发者或教育机构来说,从源码开始搭建是理解系统架构的最佳方式。

本教程将手把手教你如何从零开始下载、安装并配置微课堂4.4,同时重点解决新手在环境配置中遇到的“环境变量冲突”、“数据库连接失败”和“前端构建报错”三大难题。


第一步:环境准备(至关重要)

在下载源码之前,必须确保你的服务器或本地计算机满足以下环境要求。新手常见错误:版本不匹配导致安装失败。

1.1 必需软件及版本建议

  • 操作系统:推荐 Linux (Ubuntu 20.04/22.04 LTS) 或 Windows 1011 (使用WSL2更佳)。
  • 后端环境:Java JDK 1.8 (必须,微课堂4.4基于Spring Boot 2.x开发)。
  • 数据库:MySQL 5.7 或 8.0 (推荐5.7以避免UTF-8编码差异)。
  • 前端环境:Node.js 14.x 或 16.x (推荐14.x,高版本可能导致npm包冲突)。
  • 构建工具:Maven 3.6+。

1.2 环境安装命令示例 (以 Ubuntu 为例)

# 1. 更新软件源
sudo apt update

# 2. 安装 JDK 8
sudo apt install openjdk-8-jdk
java -version  # 验证安装,输出应包含 "1.8.0"

# 3. 安装 MySQL 并设置开机自启
sudo apt install mysql-server
sudo systemctl start mysql
sudo systemctl enable mysql

# 4. 安装 Node.js (使用 nvm 管理版本,避免权限问题)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install 14.20.0
nvm use 14.20.0

# 5. 安装 Maven
sudo apt install maven
mvn -version

第二步:源码下载与项目结构解析

2.1 获取源码

微课堂4.4的源码通常托管在Gitee或GitHub。假设仓库地址为 https://gitee.com/microclass/microclass-v4.4.git

# 在终端执行克隆命令
git clone https://gitee.com/microclass/microclass-v4.4.git

# 进入项目目录
cd microclass-v4.4

2.2 项目结构概览

了解目录结构能帮助你快速定位配置文件:

  • microclass-admin: 后端管理端代码(Spring Boot入口)。
  • microclass-web: 前端用户端代码(Vue.js项目)。
  • sql/: 数据库初始化SQL文件。
  • pom.xml: Maven聚合配置文件。

第三步:数据库初始化(新手重灾区)

这是最容易出错的一步,请严格按照顺序操作。

3.1 创建数据库

登录MySQL,执行以下SQL命令:

-- 登录MySQL (回车后输入密码)
mysql -u root -p

-- 创建数据库并设置编码(必须)
CREATE DATABASE microclass_v44 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

-- 切换到该数据库
USE microclass_v44;

3.2 导入数据表

将源码中的SQL文件导入。假设SQL文件路径为 sql/microclass_4.4_schema.sql

# 在终端执行(不要在MySQL shell内执行)
mysql -u root -p microclass_v44 < /path/to/microclass-v4.4/sql/microclass_4.4_schema.sql

新手常见问题 1:导入报错 Unknown collation: utf8mb4_0900_ai_ci

  • 原因:你的MySQL版本过低(低于5.5.3),或者SQL文件是在MySQL 8.0导出的,你在MySQL 5.7中导入。
  • 解决:使用文本编辑器打开SQL文件,将 utf8mb4_0900_ai_ci 全局替换为 utf8mb4_general_ci

第四步:后端配置与启动

4.1 修改配置文件

进入后端目录,修改数据库连接配置。

文件路径microclass-admin/src/main/resources/application-druid.yml

内容修改

spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        druid:
            # 数据库连接地址 (注意IP、端口和数据库名)
            url: jdbc:mysql://localhost:3306/microclass_v44?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
            # 数据库用户名
            username: root
            # 数据库密码 (修改为你自己的密码)
            password: your_password_here
            driver-class-name: com.mysql.cj.jdbc.Driver

4.2 编译与运行

microclass-admin 根目录下执行 Maven 打包命令。

# 跳过测试编译,加快速度
mvn clean package -DskipTests

编译成功后,进入 target 目录运行 JAR 包:

java -jar microclass-admin-4.4.0.jar

新手常见问题 2:端口被占用

  • 现象:控制台报错 Port 8080 is already in use
  • 解决:修改配置文件 application.yml 中的 server.port 为其他端口(如 8090),或者杀占用进程。
    • Linux查看端口:lsof -i :8080
    • Windows查看端口:netstat -ano | findstr :8080

第五步:前端配置与启动

后端启动成功后,需要启动前端页面进行访问。

5.1 安装依赖

进入前端目录 microclass-web

cd ../microclass-web
npm install

新手常见问题 3:Node Sass 安装失败

  • 原因:Node Sass 与 Node.js 版本不兼容,或者被墙。
  • 解决
    1. 确保使用 Node 14.x。
    2. 如果卡住,使用淘宝镜像源:
      
      npm config set registry https://registry.npmmirror.com
      npm config set sass_binary_site https://npmmirror.com/mirrors/node-sass/
      npm rebuild node-sass
      

5.2 配置代理 (解决跨域问题)

前端需要知道后端API的地址。修改 vue.config.js

// microclass-web/vue.config.js
module.exports = {
    devServer: {
        port: 80, // 前端访问端口
        proxy: {
            '/api': {
                // 指向刚才启动的后端地址 (8080 或你修改的端口)
                target: 'http://localhost:8080',
                changeOrigin: true,
                pathRewrite: {
                    '^/api': '' // 如果后端接口没有/api前缀,这里写空
                }
            }
        }
    }
}

5.3 启动服务

npm run dev

成功后,终端会显示访问地址,通常是 http://localhosthttp://localhost:80。打开浏览器,你应该能看到微课堂的登录界面。


第六步:新手常见配置问题汇总与解决

即使按照上述步骤,新手仍可能遇到以下问题。这里提供快速排查指南。

问题 A:前端页面显示 “Network Error” 或 “Failed to fetch”

  • 排查步骤
    1. 确认后端 java -jar 命令窗口没有关闭
    2. 确认浏览器直接访问 http://localhost:8080 能看到 Swagger 文档或报错信息(证明后端通了)。
    3. 检查前端 vue.config.js 中的 target 是否写错。
    4. 防火墙:如果是云服务器,检查安全组是否放行了 8080 和 80 端口。

问题 B:登录提示 “用户名或密码错误” (但确认数据库里是对的)

  • 原因:微课堂4.4默认使用 MD5 + Salt 加密。如果你直接在数据库输入明文,是无法登录的。
  • 解决
    1. 找到数据库中的 sys_user 表。
    2. 查看 password 字段,通常是 e10adc3949ba59abbe56e057f20f883e (这是 123456 的 MD5)。
    3. 使用默认密码 123456 尝试登录。
    4. 如果需要重置密码,请使用在线 MD5 工具加密新密码后填入数据库。

问题 C:Maven 编译下载依赖极慢或失败

  • 解决:配置 Maven 阿里云镜像。
    • 找到 Maven 的 settings.xml (通常在 ~/.m2/settings.xml 或 Maven 安装目录的 conf 下)。
    • <mirrors> 标签内添加:
<mirror>
    <id>aliyunmaven</id>
    <mirrorOf>*</mirrorOf>
    <name>Aliyun Maven</name>
    <url>https://maven.aliyun.com/repository/public</url>
</mirror>

结语

微课堂4.4的安装过程虽然涉及前后端多个组件,但只要理清 JDK -> MySQL -> 后端配置 -> 后端启动 -> 前端依赖 -> 前端启动 的逻辑链条,就能顺利跑通。

建议新手在遇到报错时,不要惊慌,仔细阅读控制台的红色报错信息(Stack Trace),通常第一行就指明了问题所在。祝你搭建成功!