天天看點

java.lang.ExceptionInInitializerError jackson版本沖突問題java.lang.ExceptionInInitializerError jackson版本沖突問題

java.lang.ExceptionInInitializerError jackson版本沖突問題

最近遇到jason版本沖突問題,導緻程式運作異常。

Exception in thread "main" java.lang.ExceptionInInitializerError
	at org.apache.spark.streaming.dstream.InputDStream.<init>(InputDStream.scala:80)
	at org.apache.spark.streaming.kafka010.DirectKafkaInputDStream.<init>(DirectKafkaInputDStream.scala:57)
	at org.apache.spark.streaming.kafka010.KafkaUtils$.createDirectStream(KafkaUtils.scala:147)
	at org.apache.spark.streaming.kafka010.KafkaUtils$.createDirectStream(KafkaUtils.scala:124)
	at org.apache.spark.streaming.kafka010.KafkaUtils$.createDirectStream(KafkaUtils.scala:168)
	at org.apache.spark.streaming.kafka010.KafkaUtils.createDirectStream(KafkaUtils.scala)
	at com.calabar.dec.main.LoadData2Tsdb2.createDirectStream(LoadData2Tsdb2.java:121)
	at com.calabar.dec.main.LoadData2Tsdb2.main(LoadData2Tsdb2.java:67)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Incompatible Jackson version: 2.9.5
	at com.fasterxml.jackson.module.scala.JacksonModule$class.setupModule(JacksonModule.scala:64)
	at com.fasterxml.jackson.module.scala.DefaultScalaModule.setupModule(DefaultScalaModule.scala:19)
	at com.fasterxml.jackson.databind.ObjectMapper.registerModule(ObjectMapper.java:751)
	at org.apache.spark.rdd.RDDOperationScope$.<init>(RDDOperationScope.scala:82)
	at org.apache.spark.rdd.RDDOperationScope$.<clinit>(RDDOperationScope.scala)
	... 8 more
           

由于之前沒見過類似錯誤,沒有提取到關鍵資訊:

Caused by: com.fasterxml.jackson.databind.JsonMappingException: Incompatible Jackson version: 2.9.5

解決方案還是排除其他jar包的 com.fasterxml.jackson,重新添加一個低版本的包

排除

<exclusions>
    <exclusion>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>*</artifactId>
    </exclusion>
</exclusions>
           

添加

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.6.6</version>
</dependency>
           

其他問題:因為idea機制,暫時沒法判斷是哪些包的com.fasterxml導緻沖突,還有關于com.fasterxml版本特性和導緻沖突的原因,也需要再去了解下。 包括com.fasterxml.jackson.core的版本選擇。