1. 系统基础环境准备
确保Ubuntu系统为LTS版本(如22.04、23.10),这类版本提供长期安全更新和稳定性保障,减少因系统版本过新或过旧导致的兼容性问题。安装前通过sudo apt update && sudo apt upgrade更新系统包,确保所有基础组件为最新状态。
2. JDK版本兼容性处理
Swagger(尤其是Spring Boot集成场景)对JDK版本有明确要求,推荐使用Java 11及以上版本(如OpenJDK 11、Oracle JDK 11)。通过java -version命令检查当前JDK版本,若版本低于11,可通过以下命令安装OpenJDK 11:
sudo apt install openjdk-11-jdk
安装后通过update-alternatives --config java切换默认JDK版本。
3. Spring Boot与Swagger版本匹配
若项目基于Spring Boot,需确保Swagger版本与Spring Boot版本兼容。例如:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>2.0.2</version> <!-- 检查最新版本 -->
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
```。
4. Node.js与npm环境配置
若通过npm安装Swagger UI(如Express项目集成),需提前安装Node.js和npm。Ubuntu默认源的npm版本可能较旧,建议使用NodeSource源安装最新LTS版本:
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
安装后通过node -v和npm -v验证版本(建议Node.js≥16、npm≥8)。
5. 依赖冲突解决
jakarta.servlet),并添加旧版javax.servlet-api(同上)。npm config set registry https://registry.npmmirror.com6. Swagger UI访问配置
swagger-ui-express中间件,确保配置正确:const express = require('express');
const swaggerUi = require('swagger-ui-express');
const swaggerDocument = require('./swagger.json');
const app = express();
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
app.listen(3000, () => console.log('Server running on port 3000'));
swagger.json文件:docker run -p 8080:8080 -v $(pwd)/swagger.json:/app/swagger.json swaggerapi/swagger-ui
访问http://localhost:8080查看文档。7. 防火墙与端口设置
若遇到Swagger UI无法访问的问题,需检查Ubuntu防火墙(UFW)是否允许对应端口(默认8080、3000):
sudo ufw allow 8080/tcp
sudo ufw allow 3000/tcp
sudo ufw reload
若使用Nginx反向代理,需配置proxy_pass指向Swagger UI服务端口,并确保location块正确转发请求。