运行胖jar时出现奇怪的NoSuchMethodError

时间:2013-12-16 12:35:26

标签: java json hadoop sbt sbt-assembly

我有一个带有一些依赖项的胖jar,它们使用org.codehaus.jackson库来解析JSON。这是错误:

java.lang.NoSuchMethodError: org.codehaus.jackson.map.ObjectMapper.readTree([B)Lorg/codehaus/jackson/JsonNode;

在罐子里面,我可以看到这个方法:

public JsonNode readTree(byte content[])
    throws IOException, JsonProcessingException {
    JsonNode n = (JsonNode)_readMapAndClose(_jsonFactory.createJsonParser(content), JSON_NODE_TYPE);
    return ((JsonNode) (n != null ? n : NullNode.instance));
}

代码通过'hadoop jar'命令运行,jar使用sbt程序集构建。 jackson版本或核心和映射器是1.9.2,其中包括该方法。

通过'sbt run'运行此操作不会产生错误,依赖图插件会确认所有内容都已到位。

我忽略了什么?

0 个答案:

没有答案