在 Ubuntu 上运行 Swagger(如 Swagger UI、Swagger Editor,或基于 Spring Boot / Node.js 的 Swagger)出错,原因很多。下面按常见场景 + 排查步骤给你一个通用排查指南。
不同方式报错处理不同:
你可以先告诉我:
# 如果是 Java
journalctl -u your-service
# 或看启动日志
# 如果是 Node
npm run dev
# 看终端报错
把 红色报错信息 复制出来。
sudo lsof -i:8080
sudo lsof -i:3000
解决:
kill -9 <PID>
或改端口。
java -version
注意:
✅ 推荐方案(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
node -v
npm -v
旧项目建议:
nvm use 16
npm install
sudo chmod -R 755 project
sudo chown -R $USER:$USER project
docker logs swagger
常见错误:
示例:
docker run -p 8080:8080 swaggerapi/swagger-ui
| 现象 | 原因 | 解决 |
|---|---|---|
| 白屏 | JS 加载失败 | 检查 nginx / 跨域 |
| 404 | 路径不对 | 看是否 /swagger-ui/ |
| 500 | 注解冲突 | 检查 Controller |
| CORS | 跨域 | 加 @CrossOrigin |
| Java 17 启动失败 | springfox | 换 springdoc |
请直接告诉我:
我可以帮你精确定位并给修改方案。