Eclipse Luna中Maven构建后修改的JSP代码被还原问题求助
嘿,Chiru,遇到这种修改后代码莫名“还原”的情况确实挺闹心的,我给你梳理几个常见的排查方向,你可以逐个试试:
确认JSP文件的实际修改位置
先检查你修改的是不是src/main/webapp目录下的JSP文件——这是Maven Web项目默认的Web资源根目录,构建时会优先打包这里的文件。如果你的JSP是放在其他目录(比如src/main/resources或者自定义的资源目录),可能构建时会被来自默认目录的旧文件覆盖。检查Maven构建的插件配置
打开项目的pom.xml,看看有没有配置maven-resources-plugin或者其他自定义插件,会不会在构建过程中从其他位置复制JSP文件到src/main/webapp或者target目录,从而覆盖你的修改。你也可以执行mvn clean install -X命令(-X会输出详细构建日志),搜索JSP文件名,看看构建过程中哪些步骤在处理这个文件,有没有被覆盖的操作。重置Eclipse与Maven的同步状态
除了ALT+F5强制更新,你可以试试更彻底的同步方式:- 右键项目 → Maven → Update Project,勾选「Clean projects」选项后执行
- 如果还是不行,可以手动删除项目根目录下的
.settings、.project、.classpath这几个Eclipse配置文件,然后重新导入项目(Import → Existing Maven Projects),重置项目的IDE配置缓存。
手动清理target目录后重新构建
有时候Maven的构建缓存会导致旧文件残留。你可以直接删除项目根目录下的target文件夹,然后执行mvn clean install,强制重新生成所有构建产物,看看修改后的JSP能不能被正确打包进去。排查版本控制工具的影响
如果你用了Git、SVN这类版本控制工具,检查一下是不是不小心执行了回滚操作,或者修改的文件被标记为“忽略”但仓库里有旧版本。可以查看版本控制的状态,确认文件的修改是否被正确追踪,有没有未提交的修改被覆盖的情况。
内容的提问来源于stack exchange,提问作者B.r. Chiranjeevi

