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

相关文章
相关标签/搜索