IDEA 在Maven項目中,出現“找不到或無法加載主類”的問題


IDEA在使用maven時可能會出現找不到類的情況,

這邊直接說結論:maven dependcy scope為 provided時,繼承外部依賴的抽象類,如 class Udf1 extend UDF {}

 

 

此時加載外部類會出問題,但並不是報ClassNotFound,而是此階段在類初始化早期,

而scope 為provided,也即在project structure 的dependencies 中,被標記為provied的包,在運行時不會有classpath,

這就導致類加載時鏈接外部類失敗,但是控制台只會簡單報出“找不到或無法加載”。

(下圖為印證自己想法后去掉了provided,重新sync后的結果)

 

如果scope 為provided ,則在classpath中不會包含該項的jar包。

 

當然你可能會注意到奇怪的現象,就是,此時在test文件夾中的類是不會受影響的。

這也是maven scope的定義之一。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM