删除的RequestAction-validation.xml在Maven、Eclipse、Git环境下无法清除
这种甩不掉的残留文件真的太闹心了!针对你遇到的情况,我整理了几个排查和解决的方向,你可以逐一尝试:
检查Maven依赖是否暗藏这个XML
有些时候,你的项目依赖的模块或者第三方JAR包里可能不小心包含了这个验证XML文件。你可以用mvn dependency:tree命令查看完整的依赖树,定位可疑的依赖;也可以用jar tf <依赖JAR的本地路径>命令,逐个检查依赖JAR里是否存在这个XML。另外,mvn dependency:analyze命令能帮你分析是否有意外引入的资源。核查Maven的资源配置
打开项目的pom.xml,看看<resources>节点的配置,是不是不小心把额外的目录(比如旧的src/test/resources或者自定义的资源目录)也纳入了打包范围?如果某个目录里还保留着这个XML,Maven打包时就会把它复制进WAR包。清理Eclipse的构建缓存
虽然你已经清理过项目,但Eclipse的构建缓存可能还在搞事情。试试右键项目 → Maven → Update Project,勾选"Force Update of Snapshots/Releases",然后再执行mvn clean install。另外,也可以检查Eclipse的Deployment Assembly配置,确认没有额外的资源被自动部署到WAR中。排查Git的缓存和忽略规则
如果你已经提交了删除操作,但文件还是回来,可能是Git缓存的问题。试试执行git rm --cached com/this/wont/work/RequestAction-validation.xml,然后重新提交并推送。另外,检查.gitignore文件,确保没有规则导致这个文件被意外恢复。开启Maven调试追踪文件来源
执行mvn clean install -X开启Maven的调试模式,日志会详细记录打包过程中每个文件的来源。你可以在日志里搜索这个XML文件名,就能找到它到底是从哪个路径被复制进WAR包的,这样就能精准定位问题根源。清理Maven本地仓库缓存
有时候本地仓库里的旧依赖包可能包含这个XML,你可以删除本地仓库中与项目相关的依赖目录,然后重新执行mvn clean install,让Maven重新下载干净的依赖。
内容的提问来源于stack exchange,提问作者Mattallica

