温馨提示×

ubuntu跑swagger出错怎么办

小樊
39
2026-10-21 11:12:11
栏目: 智能运维

在 Ubuntu 上运行 Swagger(如 Swagger UI、Swagger Editor,或基于 Spring Boot / Node.js 的 Swagger)出错,原因很多。下面按常见场景 + 排查步骤给你一个通用排查指南。


一、先确认“Swagger 是哪一种”

不同方式报错处理不同:

  1. Swagger UI(静态页面 / Docker)
  2. Swagger Editor
  3. Spring Boot + springfox / springdoc
  4. Node.js 项目(swagger-jsdoc / express)

你可以先告诉我:

  • 怎么启动的(命令 / Docker / IDE)
  • 报错信息原文(非常重要)

二、通用排查步骤(必做)

1️⃣ 查看错误日志

# 如果是 Java
journalctl -u your-service
# 或看启动日志

# 如果是 Node
npm run dev
# 看终端报错

把 红色报错信息 复制出来。


2️⃣ 端口被占用(非常常见)

sudo lsof -i:8080
sudo lsof -i:3000

解决:

kill -9 <PID>

或改端口。


3️⃣ Java 环境(Spring Boot Swagger)

java -version

注意:

  • Springfox 不支持 Java 17+
  • 推荐用 springdoc-openapi

✅ 推荐方案(Spring Boot 2.7+ / 3.x):

<dependency>
  <groupId>org.springdoc</groupId>
  <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
  <version>2.3.0</version>
</dependency>

访问:

http://localhost:8080/swagger-ui.html

4️⃣ Node 环境版本问题

node -v
npm -v

旧项目建议:

nvm use 16
npm install

5️⃣ 权限问题(Ubuntu 特有)

sudo chmod -R 755 project
sudo chown -R $USER:$USER project

6️⃣ Docker 方式运行 Swagger

docker logs swagger

常见错误:

  • 端口映射错
  • volume 路径不存在

示例:

docker run -p 8080:8080 swaggerapi/swagger-ui

三、最常见错误速查表

现象 原因 解决
白屏 JS 加载失败 检查 nginx / 跨域
404 路径不对 看是否 /swagger-ui/
500 注解冲突 检查 Controller
CORS 跨域 加 @CrossOrigin
Java 17 启动失败 springfox 换 springdoc

四、建议你下一步这样做

请直接告诉我:

  1. Ubuntu 版本
  2. Swagger 类型
  3. 启动方式
  4. 完整报错信息(复制文本)

我可以帮你精确定位并给修改方案。

0 踩