Skip to content

项目启动指南 ​

本文档说明如何获取代码、整合模块,并在本地运行起前后端项目。

平台支持两种运行模式:

模式说明是否需要 Nacos适用场景
单体模式(推荐)只启动 pointlion-server 一个服务,所有已启用模块打包在一个 Jar 中❌ 不需要绝大多数交付、演示、私有化部署
微服务模式网关 + 各业务模块独立部署、独立扩容✅ 需要大规模、高可用生产集群

建议先以单体模式跑通,再按需切换微服务模式。

版本选择:JDK21 版 与 JDK8 版 ​

平台提供两条版本线,功能一致,按企业现有 Java 环境选择:

对比项JDK21 版(推荐)JDK8 版(兼容版)
代码分支version-jdk21version-jdk8
JDK 要求211.8
Spring Boot3.5.x2.7.18
Spring Cloud Alibaba2025.0.0.02021.0.6.2
流程引擎 Flowable7.0.16.8.0
Docker 基础镜像eclipse-temurin:21-jreeclipse-temurin:8-jre

如何选择:新项目、可自主升级 JDK 的环境,直接使用 JDK21 版(主线,新特性首发于此);存量服务器仅能提供 JDK 1.8、且短期内无法升级的,选择 JDK8 版。两版的业务功能与操作界面保持同步。

注意:两条版本线的 Jar 不可混用——JDK8 环境无法运行 JDK21 版产物(会报 UnsupportedClassVersionError),反之 JDK21 版产物也无法在 JDK8 上启动。请按所选版本线准备对应的 JDK。

一、前提条件 ​

软件版本要求说明
JDK21(JDK21 版)/ 1.8(JDK8 版)后端编译运行环境,按所选版本线安装,二选一即可
Maven3.6+后端构建工具
Node.js16+前端构建环境
pnpm8+前端包管理器(推荐)
MySQL5.7+ / 8.0数据库(必须)
Redis6.0+缓存(必须)
RocketMQ5.x消息队列(必须):BPM 流程事件、ERP/MES/WMS 三端联动集成事件均经其投递
XXL-Job Admin2.x定时任务调度中心:本地开发默认关闭可不部署,dev/生产环境需要
Nacos2.x仅微服务模式需要,单体模式不需要

二、获取代码 ​

根据购买情况,代码仓库分两类:

2.1 全套用户:直接使用全量工程(最简单) ​

购买了全部模块的用户,会获得 pointlion-cloud-package-all 全量交付工程,前后端代码已经合并完毕,无需任何整合操作,可直接进入第三步。

bash
git clone <您的全量工程地址> pointlion-cloud-all

工程结构:

pointlion-cloud-package-all/
├── pointlion-cloud/           # 后端全套(根 pom + 全部模块)
│   ├── pointlion-server/      # 单体启动模块(本地运行只需关注它)
│   ├── pointlion-module-*/    # 各业务模块
│   └── pom.xml                # 根 pom(已包含全部模块)
└── pointlion-cloud-ui/        # 前端全套(含全部业务 api/views)

2.2 部分模块用户:底座工程 + 业务工程合并 ​

只购买了部分模块的用户,会获得:

  • pointlion-cloud-public:公共底座工程(后端公共模块 + 前端底座,不含业务模块)
  • pointlion-cloud-<业务key>:每个购买的业务一个工程(如 pointlion-cloud-oa、pointlion-cloud-ct)

业务工程结构约定:

pointlion-cloud-<key>/                 # 例如 pointlion-cloud-ct
├── pointlion-module-<key>/            # 后端业务模块(api/server 子模块)
├── 前端/
│   ├── api/<key>/                     # 前端 API 定义
│   └── views/<key>/                   # 前端页面
└── 数据库/                             # 该模块的数据库脚本(需手动导入)

合并步骤(以 CT 合同模块为例) ​

  1. 检出两个工程:
bash
git clone <底座工程地址> pointlion-cloud
cd pointlion-cloud     # 底座后端,注意 public 工程的后端在 pointlion-cloud 子目录下

git clone <业务工程地址> temp-ct
  1. 复制后端业务模块到底座后端:
bash
cp -r temp-ct/pointlion-module-ct pointlion-cloud/
  1. 在后端根 pom.xml 的 <modules> 中取消对应模块的注释(没有则添加):
xml
<modules>
    <!-- 底座公共模块(已有) -->
    <module>pointlion-dependencies</module>
    <module>pointlion-gateway</module>
    <module>pointlion-framework</module>
    <module>pointlion-server</module>
    <module>pointlion-module-system</module>
    <module>pointlion-module-infra</module>
    <module>pointlion-module-bd</module>
    <module>pointlion-module-bpm</module>

    <!-- 已购买的业务模块(把注释去掉,或手工添加) -->
    <module>pointlion-module-ct</module>
</modules>
  1. 复制前端 api / views 到前端工程:
bash
# 前端底座位于 public 工程:pointlion-cloud-public/pointlion-cloud-ui
cp -r temp-ct/前端/api/ct    pointlion-cloud-ui/src/api/
cp -r temp-ct/前端/views/ct  pointlion-cloud-ui/src/views/
  1. 导入数据库脚本(见第三步)。

说明:application*.yaml 等配置文件不在代码同步范围内,底座工程自带默认配置,按第四步修改即可。

三、初始化数据库 ​

bash
# 1. 创建数据库
mysql -u root -p
CREATE DATABASE pointlion CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

# 2. 导入底座数据库脚本(位于底座工程数据库脚本目录)
mysql -u root -p pointlion < <底座SQL脚本>.sql

# 3. 部分模块用户:逐个导入业务工程的 数据库/ 目录下的脚本
mysql -u root -p pointlion < temp-ct/数据库/<CT模块SQL脚本>.sql

四、后端运行(单体模式) ​

4.1 启用业务模块 ​

单体模式通过 pointlion-server 模块聚合所有业务模块。打开:

pointlion-cloud/pointlion-server/pom.xml

找到 <dependencies> 中的各 pointlion-module-*-server 依赖,将已购买模块的依赖取消注释(未购买的保持注释状态,否则编译失败):

xml
<!-- 已启用:底座必备 -->
<dependency>
    <groupId>com.pointlion.cloud</groupId>
    <artifactId>pointlion-module-system-server</artifactId>
    <version>${revision}</version>
</dependency>

<!-- 已购买的业务模块:取消注释即可启用 -->
<dependency>
    <groupId>com.pointlion.cloud</groupId>
    <artifactId>pointlion-module-ct-server</artifactId>
    <version>${revision}</version>
</dependency>

<!-- 未购买的模块:保持注释状态 -->
<!--
<dependency>
    <groupId>com.pointlion.cloud</groupId>
    <artifactId>pointlion-module-fin-server</artifactId>
    <version>${revision}</version>
</dependency>
-->

同时确认根 pom.xml 的 <modules> 中包含对应模块(见 2.2 第 3 步)。

底座必备模块:system(系统管理)、infra(基础设施)、bd(基础数据)、bpm(工作流,OA/HRM 等审批类模块依赖它)。

4.2 修改配置文件 ​

配置文件位于 pointlion-server/src/main/resources/:

文件用途
application.yaml主配置(默认 spring.profiles.active=local,已禁用 Nacos,单体模式无需改动)
application-local.yaml本地开发环境配置(默认激活)
application-dev.yamldev 环境配置(Docker 部署默认使用)

修改 application-local.yaml 中的 MySQL、Redis 与 RocketMQ 连接:

yaml
spring:
  datasource:
    dynamic:
      datasource:
        master:
          url: jdbc:mysql://127.0.0.1:3306/pointlion?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true
          username: root
          password: your_mysql_password
  redis:
    host: 127.0.0.1
    port: 6379
    database: 0
    password: your_redis_password   # 无密码可留空

# 消息队列(必须):BPM 流程事件与三端联动集成事件经其投递
rocketmq:
  name-server: 127.0.0.1:9876       # RocketMQ NameServer 地址

# 定时任务调度中心:本地开发默认关闭,无需部署 XXL-Job Admin
xxl:
  job:
    enabled: false                  # 本地默认 false;需要对接调度中心时置 true 并填写下方地址
    admin:
      addresses: http://127.0.0.1:8080/xxl-job-admin

单体模式不需要配置 Nacos:application.yaml 中已默认设置 spring.cloud.nacos.discovery.enabled=false 与 spring.cloud.nacos.config.enabled=false。

4.3 IDEA 启动(推荐开发环境) ​

  1. 用 IDEA 打开后端工程,等待 Maven 依赖下载完成
  2. 找到启动类:pointlion-server/src/main/java/com/pointlion/cloud/server/PointlionServerApplication.java
  3. 右键 → Run,控制台输出 Started PointlionServerApplication in xx seconds 即成功
  4. 服务地址:http://127.0.0.1:48080,接口文档:http://127.0.0.1:48080/swagger-ui

4.4 命令行打包并启动 ​

单体打包命令(重要,必须加 -Pstandalone-package):

bash
cd pointlion-cloud

mvn package -am -pl pointlion-server -Dmaven.test.skip=true -Pstandalone-package

参数说明:

参数作用
-pl pointlion-server只打包单体启动模块
-am连同其依赖的全部模块一起构建
-Pstandalone-package跳过各子模块单独打 Jar,只保留 server 聚合包,显著减小产物体积
-Dmaven.test.skip=true跳过测试

产物:pointlion-server/target/pointlion-server.jar

bash
# 启动(local 环境)
java -jar pointlion-server/target/pointlion-server.jar

# 或指定环境
java -jar pointlion-server/target/pointlion-server.jar --spring.profiles.active=dev

五、后端运行(微服务模式,可选) ​

微服务模式将各模块作为独立服务部署,必须先启动 Nacos:

  1. 启动 Nacos(http://nacos-host:8848/nacos,默认账号密码 nacos/nacos)
  2. 修改各模块 application-*.yaml 中的 Nacos 地址,并开启注册发现
  3. 按顺序启动:bd → infra → system → gateway → 各业务模块,全部通过网关 48080 端口访问
  4. 各模块独立打包:mvn package -DskipTests,产物在各模块 target/ 目录

除非有独立扩容、灰度发布等需求,一般交付场景使用单体模式即可。

六、前端运行 ​

bash
cd pointlion-cloud-ui

# 1. 安装依赖(建议配置淘宝镜像)
npm config set registry https://registry.npmmirror.com
npm install -g pnpm
pnpm install

# 2. 启动开发服务
pnpm dev

启动成功后访问 http://localhost:80(端口见控制台输出),默认账号:

账号:admin
密码:admin123

开发环境的后端地址配置在 .env.local 的 VITE_BASE_URL 中,默认指向 http://localhost:48080,按实际后端地址修改。

七、移动端运行(可选) ​

移动端工程 pointlion-cloud-app(uniapp 多端:App / 小程序 / H5):

  1. 使用 HBuilderX 导入工程
  2. 配置 env/ 目录下的环境文件(服务器地址、AppID 等,工程内不含该目录,需按文档自行创建)
  3. H5 端:pnpm install && pnpm dev:h5;小程序端:HBuilderX 运行到微信开发者工具

八、常见问题 ​

Q1: 后端启动报某个模块类找不到 / 接口 404? ​

A: 该业务模块未启用。检查两处:

  1. pointlion-server/pom.xml 中对应 pointlion-module-*-server 依赖是否已取消注释
  2. 根 pom.xml 的 <modules> 是否包含该模块

Q2: Maven 构建失败,提示找不到某个模块? ​

A: 未购买/未合并的模块仍被引用。把根 pom.xml 与 pointlion-server/pom.xml 中未购买模块的引用注释掉。

Q3: 数据库连接失败? ​

A: 检查 MySQL 是否启动、账号密码是否正确、库是否已创建、application-local.yaml 连接串是否正确。可用 mysql -h 127.0.0.1 -u root -p 先验证连通性。

Q4: Redis 连接失败? ​

A: 用 redis-cli ping 验证;有密码时确认 spring.redis.password 已填写。

Q5: 前端页面空白 / 请求报错? ​

A:

  1. 确认后端 48080 已启动
  2. 检查 .env.local 的 VITE_BASE_URL 是否指向正确后端地址
  3. 浏览器控制台查看是否有跨域报错(开发模式由 vite 代理处理,一般无需额外配置)

Q6: 单体模式还需要安装 Nacos 吗? ​

A: 不需要。pointlion-server 的主配置已禁用 Nacos 注册与配置中心,只需 MySQL、Redis 与 RocketMQ;XXL-Job 调度中心本地默认关闭(xxl.job.enabled: false),可不部署。

Q7: 打包出来的 Jar 特别大 / 打包特别慢? ​

A: 确认使用了 -Pstandalone-package 参数(见 4.4),该 profile 会跳过各子模块的独立 Jar 打包。

Q8: 前端新增了模块页面但菜单里看不到? ​

A: 前端 api/<key>、views/<key> 目录是否复制到位;数据库中是否导入了该模块的菜单 SQL;重新登录或清除浏览器缓存后刷新。

下一步 ​

技术支持 ​