https://blog.csdn.net/c15158032319/article/details/79567333
- 百度亦未尝找到原因,于是我开始思考原因,从表现上看就像是idea保留着缓存,reconmpile一次后就会优先读取这个重新编译后的文件,但是重启之后又会失效,好吧,每次都要recompile一次我真的烦了,然后我注意到了在webapp/WEB-INF下面有classes文件夹,里面就有编译后的文件,但是我之前配置项目的时候,输出的文件路径不应该是在webapp/WEB-INF下啊,同时我对比我修改后的源文件和webapp/WEB-IN下classes中的文件居然不一样,所以我把classes删掉,重启服务器后,你会发现webapp/WEB-INF下的class文件又有了,所以可以得出结论当你修改文件的时候,重启服务器,服务器打包用的类文件是webapp/WEB-INF下面的classes,所以把它删掉重启就可以了。
但是也不能每次发布修改后的代码都要把classes文件都删了吧,这明显也是治标不治本,我不信idea会有这么蠢得设定。我想起来刚开始配置项目的时候编译文件输出路径不是webapp/WEB-IN/classes,所以我确信我知道原因了,要配置class输出路径,请按下ctrl+shift+alt+s:
把文件编译后输出路径改为webapp/WEB-IN/classes就好了,就是这么一回事,问题终于得到解决。