【问题标题】:Jackson NoClassDefFoundError exception杰克逊 NoClassDefFoundError 异常
【发布时间】:2015-08-14 18:44:24
【问题描述】:

当我从以下位置运行这个玩具示例时出现此错误:

http://howtodoinjava.com/2014/06/16/jackson-examples-convert-java-object-to-from-json/

我的 gradle 文件有:

dependencies {
    classpath('org.codehaus.jackson:jackson-mapper-asl:1.9.13')
}

错误:

java -jar build/libs/pojo-test-0.1.0.jar

线程“主”java.lang.NoClassDefFoundError 中的异常:org/codehaus/jackson/JsonGenerationException

在 java.lang.Class.getDeclaredMethods0(Native Method)
在 java.lang.Class.privateGetDeclaredMethods(Class.java:2615)
在 java.lang.Class.getMethod0(Class.java:2856)
在 java.lang.Class.getMethod(Class.java:1668)


根据建议更改我的 gradle 以包含 core-asl 仍然会出现相同的错误(请参阅更改):

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath('org.codehaus.jackson:jackson-mapper-asl:1.9.13')
        classpath('org.codehaus.jackson:jackson-core-asl:1.9.13')
    }
}
apply plugin: 'java'

jar {
    manifest {
        attributes 'Main-Class': 'JavaToJSONExample'
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile('org.codehaus.jackson:jackson-mapper-asl:1.9.13')
    compile('org.codehaus.jackson:jackson-core-asl:1.9.13')
}

【问题讨论】:

  • 这可能不是直接问题,但您使用的是过时的(版本 1)Jackson 版本;最新的是 2.6.1

标签: java json gradle jackson


【解决方案1】:

如果您想使用旧的 Jackson 实现,还需要导入 jackson-core-asl:

  dependencies {
        classpath('org.codehaus.jackson:jackson-mapper-asl:1.9.13')
        classpath('org.codehaus.jackson:jackson-core-asl:1.9.13')
    }

【讨论】:

【解决方案2】:

在 graddle 中使用这个依赖

'com.fasterxml.jackson.core:jackson-core:2.6.1'

以及映射器依赖项。 另外,请升级映射器版本

'com.fasterxml.jackson.core:jackson-databind:2.6.1'

【讨论】:

  • 不走运,编译正常,但我总是遇到与 OP 中相同的错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 2015-01-24
  • 2019-05-19
  • 2013-12-29
  • 2013-05-18
相关资源
最近更新 更多