我正在尝试使用Zeppelin/Spark使用MaxMind Geoip库在IP地址上进行地理位置。我正在遇到一个诺斯舒德罗(Nosuchmethoderror),从阅读论坛似乎是一个依赖性问题,而该方法不在杰克逊lib的某些版本中。我该如何在齐柏林飞艇中识别和解决此依赖性问题?我通过%dep加载geoip2,并从齐柏林飞艇/lib/lib中删除了较旧版本,但无济于事。谢谢!
%dep
z.addRepo("geoip2").url("http://mvnrepository.com/artifact/com.maxmind.geoip2/geoip2/2.7.0")
z.load("com.maxmind.geoip2:geoip2:2.7.0")
java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.node.ArrayNode.<init>(Lcom/fasterxml/jackson/databind/node/JsonNodeFactory;Ljava/util/List;)V
我最近遇到了同一问题,所以我知道它是多么令人沮丧。我可以看到您正在使用MaxMind Geoip 2.7。
我尝试使用2.8、2.7版。在最终版本中,有最新版本的杰克逊库。
尝试使用相同的2.4版本。它使用版本的Jackson-Jr-Objects小于2.7。我花了三天的时间才弄清楚。它对我有用。
<!-- https://mvnrepository.com/artifact/com.maxmind.geoip2/geoip2 -->
<dependency>
<groupId>com.maxmind.geoip2</groupId>
<artifactId>geoip2</artifactId>
<version>2.4.0</version>
</dependency>
希望它能解决您的问题。