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