Spring Boot旧项目部署异常:访问仍显示旧内容的解决咨询
这种情况我之前踩过好几次坑,既然已经排除了Maven的clean/install问题,那大概率是缓存、进程残留或者IDE配置的锅,给你几个具体的排查和解决步骤:
杀掉占用8080端口的旧进程:
很可能旧项目的进程还在后台运行,抢占了8080端口。你可以用命令排查:- Windows:执行
netstat -ano | findstr :8080找到对应的PID,然后用taskkill /F /PID [你的PID]强制杀掉进程。 - Linux/macOS:执行
lsof -i :8080找到进程,再用kill -9 [PID]终止它。
之后重新启动新项目,再访问试试。
- Windows:执行
强制刷新浏览器或使用无痕模式:
浏览器的缓存机制会保留旧页面的静态资源和页面内容,普通刷新可能没用。试试按下Ctrl+Shift+R(Windows/Linux)或Cmd+Shift+R(macOS)强制刷新,或者直接打开无痕窗口访问localhost:8080,这样会绕过本地缓存。检查IDE的运行配置:
有时候IDE会保留旧的运行配置,可能你不小心启动的还是之前的旧项目。去IDE的「Run/Debug Configurations」里看看,确认选中的是当前新项目的Spring Boot启动配置,而不是旧项目的。如果有多余的旧配置,直接删掉更稳妥。手动清理项目的target目录:
虽然执行了Maven的clean,但有时候IDE的缓存可能没同步。手动找到项目根目录下的target文件夹,直接删除它,然后重新执行mvn install或者在IDE里重新build项目,确保生成的是最新的编译文件。确认上下文路径配置:
虽然系统提示上下文根是“/”,但还是建议检查下application.properties或application.yml里的server.servlet.context-path配置,确保没有被误设成旧项目的路径,比如/old-project之类的。重启IDE:
最后一招,IDE本身的缓存有时候会抽风,比如IntelliJ IDEA或Eclipse的缓存没更新,导致启动的还是旧内容。重启IDE之后再重新启动项目,很多时候这种玄学问题就解决了。
内容的提问来源于stack exchange,提问作者Connor Butch

