Exception in thread “main” java.lang.NoSuchMethodError: com.fasterxml.jackson.core.JsonGenerator.writeStartObject(Ljava/lang/Object;)V报错及解决
情况:sparkstreaming将kafka作为数据源时,运行报错,网上搜的解决方法为添加jackson的相关依赖如下
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.8.7</version>
</dependency>
添加之后报错为
Exception in thread “main” java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.JsonMappingException.(Ljava/io/Closeable;Ljava/lang/String;)V
网上解决办法大部分为修改版本
最后发现问题为不能将json对象转为string,查找了相关资料,最后发现是jackson和sparkStreaming中的解析功能相冲突
解决办法:删除有关jackson的依赖即可,用spark自带的功能就可以