pom.xml(Maven)或build.gradle(Gradle)中包含正确版本的Swagger依赖(如Spring Boot 2.x常用springfox-swagger2:2.9.2、springfox-swagger-ui:2.9.2;Spring Boot 3.x需适配Swagger 4.x及以上)。版本不兼容会导致启动失败。java -version检查Java版本,确保JAVA_HOME环境变量指向正确路径。SwaggerConfig.java),并添加@Configuration、@EnableSwagger2注解。未配置或注解遗漏会导致Swagger无法初始化。示例配置:@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}
/api),需在配置类中添加pathMapping("/api"),并在application.properties中设置springfox.documentation.swagger-ui.base-path=/api,否则Swagger UI无法找到接口文档。netstat -tulnp | grep <端口号>检查。若端口被占用,需修改应用端口或停止占用进程。firewalld或iptables,需开放应用端口。例如,开放8080端口:sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent # firewalld
sudo firewall-cmd --reload
或使用iptables:sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
sudo service iptables save
否则会导致外部无法访问Swagger UI。dist目录)或应用日志目录权限不足,会导致无法读取或写入。需赋予应用用户(如tomcat、root)读写权限:chmod -R 755 /opt/swagger-ui/dist # 示例:赋予dist目录读写权限
Enforcing模式,可能阻止应用访问网络或文件。通过getenforce检查状态,临时关闭SELinux:sudo setenforce 0
或修改/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=permissive,然后重启系统。systemctl status <服务名>(如systemctl status my-spring-boot-app)检查服务状态,若未启动需使用systemctl start <服务名>启动。若服务崩溃,需查看应用日志(如/var/log/my-spring-boot-app.log)定位错误原因(如端口冲突、数据库连接失败)。pom.xml或build.gradle检查并调整依赖版本,避免跨大版本使用。docker run -d -p 80:8080 --name swagger-ui swaggerapi/swagger-ui
此方式确保无论宿主机是CentOS、Windows还是macOS,均能获得一致的运行环境。logs/application.log),定位具体错误原因(如404错误可能为路径配置错误,500错误可能为依赖冲突)。结合错误信息进一步调整配置。