Tomcat 运行后 class 文件不编译


问题背景:之前把 idea 的版本做了一次升级,结果发现自己项目启动 Tomcat 后报了一个错误,实例化 Servlet 类 [com.yafnds.servlet.HelloServlet] 异常,具体错误格式可以查看这个文章:

  【Java】tomcat 500错误解决系列一:实例化Servlet错误

主要内容为:

1 HTTP状态 500 - 内部服务器错误 2 类型 异常报告 3  
4 消息 实例化Servlet类[package.SessionDemo_01_getSession]异常 5  
6 描述 服务器遇到一个意外的情况,阻止它完成请求。

 

该错误的主要原因是:Tomcat 服务器在 target 文件夹下找不到需要的 class 文件

 


 

但是,我在试了网上的很多方法后发现,我这里找不到class文件的原因是Tomcat运行时根本没有编译class文件,如图:(编译后的target)

image.png

 

实际出错原因:父模块中出现了子模块的内容。

 

(出错时没有截图,后来试了好几次,发现没法复现bug,所以就没有截图了。如有需要,可以查看这篇文章(解决:多模块项目:复制已有模块进行结构修改时报错:Module "xxx" must not contain source root "\...\xxx\src\main\java". ),可以说是出现本次问题的根本原因)

 

解决办法:

  打开该项目的 Project Structure 把父模块中不属于自己的特殊目录统统删掉,点右侧的X即可


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM