信创环境(openEuler 24.03 + Deepin 25)部署资产管理系统全记录

从零搭建:PagePlug / JeecgBoot / RuoYi 三套方案实战踩坑与解决方案

一、环境准备篇

1.1 硬件与系统信息

项目 生产服务器 开发环境
操作系统 openEuler 24.03 LTS SP4 Deepin 25
内核版本 6.6.0-159.4.3.154.oe2403sp4.x86_64 -
CPU Xeon Gold 6210U -
内存 4×32GB(128GB) -
Docker 版本 26.1.3 26.1.3

1.2 操作系统基础配置

1.2.1 配置国内镜像源(openEuler)
bash

# 备份原有配置
mv /etc/yum.repos.d/openEuler.repo /etc/yum.repos.d/openEuler.repo.bak

# 创建华为云镜像源
cat > /etc/yum.repos.d/openEuler.repo << 'EOF'
[OS]
name=OS
baseurl=http://repo.huaweicloud.com/openeuler/openEuler-24.03-LTS/OS/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://repo.huaweicloud.com/openeuler/openEuler-24.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler

[everything]
name=everything
baseurl=http://repo.huaweicloud.com/openeuler/openEuler-24.03-LTS/everything/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://repo.huaweicloud.com/openeuler/openEuler-24.03-LTS/everything/x86_64/RPM-GPG-KEY-openEuler

[EPOL]
name=EPOL
baseurl=http://repo.huaweicloud.com/openeuler/openEuler-24.03-LTS/EPOL/main/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://repo.huaweicloud.com/openeuler/openEuler-24.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler
EOF

dnf clean all && dnf makecache
1.2.2 关闭 SELinux
bash

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
1.2.3 配置防火墙
bash

firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-port=5432/tcp
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=3000/tcp
firewall-cmd --permanent --add-port=3001/tcp
firewall-cmd --reload

1.3 Docker 环境配置

1.3.1 Docker 版本统一(26.1.3)

问题背景:openEuler 与 Deepin 的 Docker 仓库版本号格式不同,需统一版本。

openEuler 安装命令

bash

sudo dnf install -y docker-ce-3:26.1.3-1.el8 docker-ce-cli-1:26.1.3-1.el8 containerd.io docker-buildx-plugin docker-compose-plugin

Deepin 安装命令

bash

sudo apt install -y docker-ce=5:26.1.3-1~debian.12~bookworm docker-ce-cli=5:26.1.3-1~debian.12~bookworm containerd.io docker-buildx-plugin docker-compose-plugin
1.3.2 ❌ 错误:docker-ce-cli-3:26.1.3-1.el8 找不到

报错现象

text

No match for argument: docker-ce-cli-3:26.1.3-1.el8
Error: Unable to find a match: docker-ce-cli-3:26.1.3-1.el8

原因docker-ce-cli 的版本前缀是 1:,而 docker-ce3:

解决方案

bash

# 分别安装
sudo dnf install -y docker-ce-3:26.1.3-1.el8 docker-ce-cli-1:26.1.3-1.el8
sudo dnf install -y containerd.io docker-buildx-plugin docker-compose-plugin
1.3.3 配置 Docker 国内镜像加速

配置文件/etc/docker/daemon.json

json

{
  "registry-mirrors": [
    "https://docker.1panel.live",
    "https://hub.rat.dev",
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ]
}

重启 Docker

bash

sudo systemctl daemon-reload
sudo systemctl restart docker
1.3.4 ❌ 错误:Docker 拉取超时

报错现象

text

Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

原因:国内访问 Docker Hub 网络不稳定或被限制。

解决方案:配置上述国内镜像加速器后重启 Docker。

1.4 内核版本锁定

目的:避免系统更新导致内核升级,影响 Docker 兼容性。

openEuler

bash

sudo dnf versionlock add kernel*

Deepin

bash

sudo apt-mark hold linux-image-* linux-headers-*

二、PostgreSQL 部署与配置

2.1 安装 PostgreSQL

bash

dnf install -y postgresql-server postgresql-contrib

2.2 数据目录配置

目标:将 PostgreSQL 数据目录放在 /data/postgresql(数据盘)。

bash

mkdir -p /data/postgresql
chown postgres:postgres /data/postgresql
chmod 700 /data/postgresql
sudo -u postgres initdb -D /data/postgresql
systemctl stop postgresql
mv /var/lib/pgsql/data /var/lib/pgsql/data.bak
ln -s /data/postgresql /var/lib/pgsql/data
systemctl start postgresql

2.3 ❌ 错误:initdb: error: could not change permissions of directory

报错现象

text

initdb: error: could not change permissions of directory "/data/postgresql": Operation not permitted

原因/data/postgresql 目录的所有权不是 postgres 用户。

解决方案

bash

chown postgres:postgres /data/postgresql
chmod 700 /data/postgresql

2.4 配置远程访问

修改 postgresql.conf

bash

sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/" /data/postgresql/postgresql.conf

修改 pg_hba.conf

bash

cat >> /data/postgresql/pg_hba.conf << 'EOF'
host    all             all             192.168.1.0/24          md5
host    all             all             172.17.0.0/16           md5
host    all             all             172.19.0.0/16           md5
EOF

systemctl restart postgresql

2.5 ❌ 错误:PostgreSQL 无法启动,/var/lib/pgsql/data 为空

报错现象

text

Directory "/var/lib/pgsql/data" is missing or empty.
Use "/usr/bin/postgresql-setup --initdb" to initialize the database cluster.

原因:软链接指向的目录不存在或为空。

解决方案

bash

rm -f /var/lib/pgsql/data
mkdir -p /data/postgresql
chown postgres:postgres /data/postgresql
chmod 700 /data/postgresql
sudo -u postgres initdb -D /data/postgresql
ln -s /data/postgresql /var/lib/pgsql/data
systemctl start postgresql

三、JeecgBoot 部署全记录

3.1 版本选择策略

版本 AI 模块 稳定性 推荐程度
3.8.3 深度集成,强耦合 稳定但有依赖问题 ❌ 不推荐
3.8.2 深度集成 稳定 ❌ 不推荐
3.7.1 无 AI 模块 稳定 ✅ 推荐

结论:回退到 3.7.1 彻底避开 AI 模块问题。

3.2 编译环境安装

bash

# 安装 JDK 17
dnf install -y java-17-openjdk java-17-openjdk-devel

# 安装 Maven
dnf install -y maven

# 安装 Node.js 20
curl -sL https://rpm.nodesource.com/setup_20.x | bash -
dnf install -y nodejs

# 安装 pnpm@8(兼容 Node.js 20)
npm install -g pnpm@8

# 验证
java -version
mvn -version
node -v
pnpm -v

3.3 ❌ 错误:Maven 使用 Java 8 而非 Java 17

报错现象

text

mvn -version
Java version: 1.8.0_492

原因:系统默认 Java 版本为 1.8,需要切换到 JDK 17。

解决方案

bash

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-17.0.11.9-0.oe2403.x86_64
echo "export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-17.0.11.9-0.oe2403.x86_64" >> ~/.bashrc
echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc

3.4 ❌ 错误:pnpm 版本与 Node.js 不兼容

报错现象

text

warn: This version of pnpm requires at least Node.js v22.13
The current version of Node.js is v20.11.1

解决方案

bash

npm uninstall -g pnpm
npm install -g pnpm@8

3.5 ❌ 错误:FlowExecutor Bean 找不到(3.8.3 核心问题)

报错现象

text

Field flowExecutor in org.jeecg.modules.airag.flow.service.a.b required a bean of type 'com.yomahub.liteflow.core.FlowExecutor' that could not be found.

根本原因

  • JeecgBoot 3.8.x 的 AI 模块与核心模块强耦合
  • SysBaseApiImpl 直接 @AutowiredIAiragFlowService
  • 即使配置 liteflow.enable=false,Spring 仍会尝试注入 AI 模块的 Bean

尝试过的解决方案(均未完全生效)

  1. 配置文件排除
yaml

spring:
  autoconfigure:
    exclude:
      - com.yomahub.liteflow.springboot.LiteflowAutoConfiguration
      - org.jeecg.modules.airag.config.AiragAutoConfiguration
liteflow:
  enable: false
  1. 环境变量排除
yaml

environment:
  - SPRING_AUTOCONFIGURE_EXCLUDE=com.yomahub.liteflow.springboot.LiteflowAutoConfiguration,org.jeecg.modules.airag.config.AiragAutoConfiguration
  1. 从 pom.xml 移除 AI 模块
bash

sed -i '/<module>jeecg-boot-module-airag<\/module>/d' jeecg-boot-module/pom.xml

jeecg-system-biz 中仍有对 AI 模块的硬编码依赖,导致编译失败。

最终解决方案:回退到 3.7.1,彻底避开 AI 模块。

3.6 ❌ 错误:openjdk:17-jdk-slim 镜像不可用

报错现象

text

ERROR: failed to solve: openjdk:17-jdk-slim: failed to resolve source metadata for docker.io/library/openjdk:17-jdk-slim: 403 Forbidden

原因openjdk:17-jdk-slim 官方镜像已停更,部分镜像加速器拒绝拉取。

解决方案:使用 eclipse-temurin:17-jdk 替代。

Dockerfile

dockerfile

FROM eclipse-temurin:17-jdk
COPY jeecg-boot/jeecg-module-system/jeecg-system-start/target/*.jar app.jar
ENV TZ=Asia/Shanghai
ENTRYPOINT ["java","-jar","/app.jar"]

3.7 ❌ 错误:依赖找不到(3.7.1 编译)

报错现象

text

Could not find artifact org.jeecgframework.boot3:jeecg-boot-common:jar:3.7.1
Could not find artifact org.jeecgframework.boot3:jeecg-boot-starter-chatgpt:jar:3.7.1

解决方案:添加 Jeecg 官方仓库到 ~/.m2/settings.xml

xml

<repository>
  <id>jeecg</id>
  <url>https://maven.jeecg.org/nexus/content/repositories/jeecg</url>
</repository>

3.8 ❌ 错误:数据源 Bean 覆盖失败

报错现象

text

The bean 'dataSource'... could not be registered. A bean with that name has already been defined... overriding is disabled.

解决方案:在配置文件中启用 Bean 覆盖:

yaml

spring:
  main:
    allow-bean-definition-overriding: true

3.9 ❌ 错误:Failed to determine a suitable driver class

报错现象

text

Failed to determine a suitable driver class

原因:PostgreSQL 驱动未正确加载。

解决方案

yaml

spring:
  datasource:
    dynamic:
      datasource:
        master:
          driver-class-name: org.postgresql.Driver
          url: jdbc:postgresql://jeecg-boot-postgresql:5432/jeecg_boot
          username: postgres
          password: Postgres@2026

3.10 ❌ 错误:登录接口 401(Token失效)

报错现象

json

{"success":false,"message":"Token失效,请重新登录!","code":401}

原因:Shiro 未放行 /sys/login 和验证码接口。

尝试的解决方案

yaml

shiro:
  filterChainDefinitionMap:
    /sys/login: anon
    /sys/logout: anon
    /sys/randomImage/**: anon
    /sys/getVerificationCode: anon
    /sys/checkVerificationCode: anon
    /swagger-ui.html: anon
    /webjars/**: anon
    /**: anon

验证码禁用

yaml

jeecg:
  security:
    captcha:
      enabled: false

最终结论:JeecgBoot 3.7.1 的 Shiro 配置在 application.yml 中未生效,多次尝试均失败。建议后续使用官方 Docker 镜像或切换方案。

四、若依(RuoYi-Vue)部署尝试

4.1 源码克隆与编译

bash

cd /data
git clone https://gitee.com/y_project/RuoYi-Vue.git
cd RuoYi-Vue
mvn clean package -Dmaven.test.skip=true

编译成功输出

text

[INFO] Reactor Summary for ruoyi 3.9.2:
[INFO] ruoyi .............................................. SUCCESS [  1.795 s]
[INFO] ruoyi-common ....................................... SUCCESS [ 38.378 s]
[INFO] ruoyi-system ....................................... SUCCESS [  0.422 s]
[INFO] ruoyi-framework .................................... SUCCESS [  5.688 s]
[INFO] ruoyi-quartz ....................................... SUCCESS [  0.573 s]
[INFO] ruoyi-generator .................................... SUCCESS [  1.231 s]
[INFO] ruoyi-admin ........................................ SUCCESS [  6.465 s]
[INFO] BUILD SUCCESS

4.2 ❌ 错误:PostgreSQL SQL 转换失败

报错现象

text

错误:  语法错误 在 "(" 或附近的
第2行  dept_id           bigint(20)      not null     comment '部...

原因:若依 SQL 使用大量 MySQL 特有语法(bigint(20)、行内 commentDEFAULT CHARSET 等),转换到 PostgreSQL 需要大量手工调整。

解决方案:使用 MySQL 容器快速启动若依。

4.3 使用 MySQL 容器启动若依

bash

# 1. 启动 MySQL 容器
docker run -d --name ruoyi-mysql \
  -e MYSQL_ROOT_PASSWORD=root \
  -e MYSQL_DATABASE=ry-vue \
  -p 3306:3306 \
  mysql:5.7

# 2. 导入数据
docker exec -i ruoyi-mysql mysql -uroot -proot ry-vue < /data/RuoYi-Vue/sql/ry_20260417.sql
docker exec -i ruoyi-mysql mysql -uroot -proot ry-vue < /data/RuoYi-Vue/sql/quartz.sql

# 3. 修改数据源配置为 MySQL
cat > /data/RuoYi-Vue/ruoyi-admin/src/main/resources/application-druid.yml << 'EOF'
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    druid:
      master:
        url: jdbc:mysql://172.17.0.1:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
        username: root
        password: root
EOF

# 4. 重新打包并启动
cd /data/RuoYi-Vue
mvn clean package -Dmaven.test.skip=true
cd ruoyi-admin/target
nohup java -jar ruoyi-admin.jar > /data/logs/ruoyi-admin.log 2>&1 &

五、前端部署与 Nginx 配置

5.1 前端编译(以 JeecgBoot 为例)

bash

cd /data/JeecgBoot/jeecgboot-vue3
pnpm config set registry https://registry.npmmirror.com
pnpm install
pnpm run build

5.2 Nginx 配置

配置文件/data/jeecgboot/frontend/nginx.conf

nginx

server {
    listen 80;
    server_name localhost;
    root /usr/share/nginx/html;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location /jeecgboot/ {
        proxy_pass http://jeecg-boot-system:8080/jeecgboot/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

5.3 部署前端产物

bash

rm -rf /data/jeecgboot/frontend/dist/*
cp -r /data/JeecgBoot/jeecgboot-vue3/dist/* /data/jeecgboot/frontend/dist/
docker restart jeecg-boot-vue

六、Docker Compose 配置

6.1 完整 docker-compose.yml

yaml

version: '3.8'

services:
  postgresql:
    image: postgres:15.8
    container_name: jeecg-boot-postgresql
    restart: unless-stopped
    ports:
      - "5432:5432"
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-Postgres@2026}
      - POSTGRES_DB=jeecg_boot
      - TZ=Asia/Shanghai
    volumes:
      - /data/jeecgboot/postgresql/data:/var/lib/postgresql/data
      - /data/jeecgboot/postgresql/init:/docker-entrypoint-initdb.d
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 10s
      timeout: 5s
      retries: 5

  redis:
    image: redis:7.2.5-alpine
    container_name: jeecg-boot-redis
    restart: unless-stopped
    ports:
      - "6379:6379"
    command: redis-server --requirepass ${REDIS_PASSWORD:-Jeecg@2026} --appendonly yes
    volumes:
      - /data/jeecgboot/redis/data:/data

  jeecg-system:
    image: jeecgboot/jeecg-system:3.7.1
    container_name: jeecg-boot-system
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - /data/jeecgboot/backend/application-postgres.yml:/application.yml
      - /data/jeecgboot/upload:/opt/upload
      - /data/jeecgboot/logs:/opt/logs
    environment:
      - SPRING_PROFILES_ACTIVE=postgres
      - SPRING_CONFIG_LOCATION=file:/application.yml
      - TZ=Asia/Shanghai
      - JAVA_OPTS=-Xms512m -Xmx1024m -XX:+UseG1GC

  jeecg-vue:
    image: nginx:1.25.5-alpine
    container_name: jeecg-boot-vue
    restart: unless-stopped
    ports:
      - "80:80"
    volumes:
      - /data/jeecgboot/frontend/dist:/usr/share/nginx/html
      - /data/jeecgboot/frontend/nginx.conf:/etc/nginx/conf.d/default.conf
      - /data/jeecgboot/upload:/usr/share/nginx/html/upload

6.2 ❌ 错误:端口冲突 bind: address already in use

报错现象

text

Error starting userland proxy: listen tcp4 0.0.0.0:5432: bind: address already in use

原因:宿主机 PostgreSQL 服务占用了 5432 端口。

解决方案

bash

systemctl stop postgresql
systemctl disable postgresql

6.3 ❌ 错误:Redis 健康检查失败

原因:Redis 设置了密码,健康检查命令未提供密码。

解决方案:删除 Redis 的 healthcheck 块,或在健康检查中添加密码:

yaml

test: ["CMD-SHELL", "redis-cli -a $REDIS_PASSWORD ping | grep PONG"]

七、数据库表结构(资产管理)

7.1 用户与权限基础表

sql

-- 用户表
CREATE TABLE sys_user (
    id VARCHAR(32) PRIMARY KEY,
    username VARCHAR(50) NOT NULL UNIQUE,
    realname VARCHAR(50),
    password VARCHAR(255) NOT NULL,
    status INT DEFAULT 1,
    create_time TIMESTAMP DEFAULT NOW()
);

-- 插入管理员(密码:123456 的 MD5 加密值)
INSERT INTO sys_user (id, username, realname, password, status)
VALUES ('1', 'admin', '管理员', 'e10adc3949ba59abbe56e057f20f883e', 1);

-- 角色表
CREATE TABLE sys_role (
    id VARCHAR(32) PRIMARY KEY,
    role_name VARCHAR(50) NOT NULL,
    role_code VARCHAR(50) NOT NULL,
    create_time TIMESTAMP DEFAULT NOW()
);

INSERT INTO sys_role (id, role_name, role_code) VALUES
('1', '超级管理员', 'admin'),
('2', '资产管理员', 'asset_admin');

-- 用户-角色关联表
CREATE TABLE sys_user_role (
    id VARCHAR(32) PRIMARY KEY,
    user_id VARCHAR(32) NOT NULL,
    role_id VARCHAR(32) NOT NULL,
    create_time TIMESTAMP DEFAULT NOW()
);

INSERT INTO sys_user_role (id, user_id, role_id) VALUES ('1', '1', '1');

7.2 资产管理核心业务表

sql

-- 资产分类表
CREATE TABLE asset_category_dict (
    id VARCHAR(32) PRIMARY KEY,
    code VARCHAR(20) UNIQUE NOT NULL,
    name VARCHAR(100) NOT NULL,
    level INT NOT NULL,
    parent_code VARCHAR(20),
    full_name VARCHAR(200),
    sort_order INT DEFAULT 0
);

-- 资产状态表(五行状态)
CREATE TABLE asset_status (
    id VARCHAR(32) PRIMARY KEY,
    status_code VARCHAR(20) UNIQUE NOT NULL,
    status_name VARCHAR(50) NOT NULL,
    element VARCHAR(5) NOT NULL,
    description TEXT,
    sort_order INT DEFAULT 0
);

-- 资产主表
CREATE TABLE asset_items (
    id VARCHAR(32) PRIMARY KEY,
    asset_code VARCHAR(50) UNIQUE NOT NULL,
    name VARCHAR(200) NOT NULL,
    model VARCHAR(100),
    brand VARCHAR(100),
    serial_number VARCHAR(100),
    purchase_date DATE,
    purchase_price DECIMAL(12,2),
    current_value DECIMAL(12,2),
    quantity DECIMAL(12,2) DEFAULT 1,
    status_code VARCHAR(20),
    department_id VARCHAR(32),
    location_id VARCHAR(32),
    responsible_person VARCHAR(50),
    user_person VARCHAR(50),
    remark TEXT,
    category_code VARCHAR(20),
    created_time TIMESTAMP DEFAULT NOW(),
    updated_time TIMESTAMP DEFAULT NOW()
);

-- 清查盘点表
CREATE TABLE inventory_checks (
    id VARCHAR(32) PRIMARY KEY,
    inventory_no VARCHAR(50) UNIQUE NOT NULL,
    asset_category2 VARCHAR(50),
    category_major VARCHAR(50),
    category_minor VARCHAR(50),
    department_name VARCHAR(100),
    location_name VARCHAR(200),
    brand VARCHAR(100),
    model VARCHAR(100),
    quantity DECIMAL(12,2),
    production_date DATE,
    photo TEXT,
    remark TEXT,
    check_person VARCHAR(50),
    user_person VARCHAR(50),
    check_date DATE DEFAULT CURRENT_DATE,
    created_at TIMESTAMP DEFAULT NOW()
);

八、错误速查表

序号 错误现象 根本原因 解决方案
1 docker-ce-cli-3:26.1.3-1.el8 找不到 版本前缀错误 使用 docker-ce-cli-1:26.1.3-1.el8
2 Docker 拉取超时 网络问题 配置国内镜像加速器
3 initdb: could not change permissions 目录权限错误 chown postgres:postgres /data/postgresql
4 PostgreSQL 无法启动,数据目录为空 软链接指向空目录 重新初始化数据库并创建软链接
5 FlowExecutor Bean 找不到 AI 模块强耦合 回退到 3.7.1 版本
6 openjdk:17-jdk-slim 403 镜像已停更 改用 eclipse-temurin:17-jdk
7 pnpm 版本不兼容 Node.js 版本过低 安装 pnpm@8 或升级 Node.js
8 Maven 使用 Java 8 JAVA_HOME 未设置 设置 JAVA_HOME 指向 JDK 17
9 Failed to determine a suitable driver class 驱动未加载 正确配置 driver-class-name
10 端口冲突 bind: address already in use 宿主机服务占用端口 停止宿主机服务
11 Redis 健康检查失败 密码验证失败 删除 healthcheck 或添加密码参数
12 登录接口 401 Shiro 未放行 配置 shiro.filterChainDefinitionMap
13 PostgreSQL SQL 转换失败 MySQL 特有语法 使用 MySQL 容器

九、最终状态总结

项目 状态 说明
openEuler 24.03 生产服务器
Docker 26.1.3 已安装并锁定版本
内核锁定 已锁定 kernel*
PostgreSQL 15.8 运行中,数据在 /data/postgresql
Redis 7.2.5 运行中,端口 6379
Nginx 1.25.5 运行中,端口 80
JeecgBoot 3.7.1 ⚠️ 后端启动成功但登录 401
RuoYi-Vue 3.9.2 ⚠️ 编译成功,需 MySQL 容器
PagePlug 可正常连接数据库

十、建议与后续

  1. 优先使用 PagePlug:无需复杂的 Shiro 配置,直接连接 PostgreSQL,可快速搭建资产管理应用。
  2. 若依使用 MySQL 容器:避免 PostgreSQL 转换问题,快速启动业务系统。
  3. JeecgBoot 等待官方镜像:3.8.x 的 AI 模块问题需要官方修复,3.7.1 的 Shiro 配置问题需进一步排查。

文档版本:v1.0
更新日期:2026-08-16
适用环境:openEuler 24.03 / Deepin 25 + Docker 26.1.3

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐