报错描述
今天在用SparkStreaming 消费kafka的数据时候报了这个错, 感觉很莫名其妙, 因为这个错误一般是找不到这个类的时候才会报, 但是我很肯定我这个类的jar报是引入了的, 然后猛然想起, 可能是我依赖范围设置的有问题, 然后赶紧查看了依赖范围
果然
将 provide 改为 Compile 即可
这里总结下 maven的依赖范围, 给自己提个醒, 以后需要注意
Scope 选项如下:
- Compile:编译依赖范围。默认就是compile。在编译,测试,运行都有效;
- Test:测试依赖范围。仅测试有效; 例如JUnit;
- Provided:已提供依赖范围。编译,测试有效,运行时候无效。例如servlet-api。
- System:系统依赖范围。(了解即可)使用system 范围的依赖必须通过sytemPath 指定依赖文件的路径