IDEA 在Maven項目中,出現「找不到或沒法加載主類」的問題

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

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

 

 

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

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

這就致使類加載時連接外部類失敗,可是控制檯只會簡單報出「找不到或沒法加載」。繼承

(下圖爲印證本身想法後去掉了provided,從新sync後的結果)ci

 

若是scope 爲provided ,則在classpath中不會包含該項的jar包。class

 

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

這也是maven scope的定義之一。im

相關文章
相關標籤/搜索