记一次springboot项目yml文件port设置失效

某次运行一个日常维护的springboot项目,项目采用前后端分离,后端项目启动后,启动前端项目后显示前端访问路径为:localhost:8080,登录页验证码显示请求后台接口失败。但之前一直是后端项目启用的8080端口,现在显示前端项目也占用8080端口,这就很奇怪了,抓紧检查下项目的application.yml文件,结果显示确实配置的8080端口。首先肯定一个端口不可能被两个进程同时占用,接下来就需要找出实际后端项目占用的端口。

 打开cmd终端,输入jps展示系统的java进程。显示后端pid为19880。

接下来使用 netstat -ano | findStr 19880 查询该进程占用的端口情况。显示该进程目前占用的是8380端口。另外两个端口我尝试访问了下是不通的。

接下来就是需要定位出为什么配置文件没有生效,另外这个8380端口是在那边配置的。在经过一顿搜索后我突然想到前几天新做的一个项目,修改过本地的环境变量。经过查看,终于找到了罪魁祸首,此处赫然写着8380,至此真相大白。由此我们可以知道,系统的环境变量的优先级是要高于项目的配置文件的。

最后还有个小插曲是将8380的环境变量删除后显示后端还是占用的8380端口,电脑重启后这个改变才生效。