idea的artifacts无法生成最新代码的class的方案及解决
作者:How_about_yes
这篇文章主要介绍了idea的artifacts无法生成最新代码的class的方案及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
idea的artifacts无法生成最新代码的class
最近在Intellij Idea中做Javaweb项目,修改了部分java代码,然后重新部署,运行后发现修改部分没有生效。
于是先查找Tomcat运行的最终代码究竟在哪里,先找到idea的项目的Tomcat配置路径如下:
C:/Users/登录用户/.IntelliJIdea2019.1/system/tomcat/项目名称/conf/Catalina/localhost
打开该目录下的ROOT.xml
查看内容:
<Context path="" docBase="F:\WorkingFiles\Projects\CodeSpace\safedogCloudEyes_private\out\artifacts\safedogCloudEyes_private_Web_exploded" />
发现,Tomcat执行的最终代码其实就在 项目 /out/Aritifacts 下面。
于是找到修改代码对应的class文件,发现修改的内容并没有被编译进去,也就说这根本不是最新的java代码编译的class。
经过反复试验,发现Artifacts里的内容来源于 WEB-INF/classes ,
如下图:

解决办法显而易见
将 classes目录设置为Exclude即可,重新部署后解决了该问题。

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
