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