在使用Spring Cloud Alibaba时,我对其中一项微服务oj-backend-user-service配置端口,该微服务目录如下:
在application.yaml中,我将该服务端口配置于8102,如图:
但运行后,该服务仍运行于Tomcat的默认端口8080,如图:
在查阅资料后,判断可能处于如下原因:
- 配置文件未生效。
- 配置被其他配置文件覆盖。
- idea缓存中配置端口没改。
- 配置中心覆盖端口配置。
- 8102端口被占用。
检查了项目启动日志,发现配置文件中其他内容生效了,故排除情况1。检查target目录中的缓存文件application.ymal,发现端口配置确实是8102,排除情况3。检查nacos配置文件,并未修改端口,排除情况4。检查端口占用情况,发现8102空闲,排除情况5。
由于该微服务仅有这一个配置文件,考虑是否其他微服务的配置文件对其产生影响。该微服务引入了一个oj-backend-service-client依赖,检查该微服务文件后,发现其中的application.properties中配置了端口8080:
清空该文件,重启项目,成功运行于8102。