java.lang.NoSuchFieldError: USE_DEFAULTS 在通过 json 模式验证器验证 json 模式时抛出

Posted

技术标签:

【中文标题】java.lang.NoSuchFieldError: USE_DEFAULTS 在通过 json 模式验证器验证 json 模式时抛出【英文标题】:java.lang.NoSuchFieldError: USE_DEFAULTS thrown while validating json schema through json schema validator 【发布时间】:2016-08-27 04:51:30 【问题描述】:

我是 RestAPI 测试的新手。我正在尝试使用 Jsonschemavalidor。我添加了 jar 文件和所有依赖项。我仍然收到以下错误。任何人都可以解决这个问题。

Exception in thread "main" java.lang.NoSuchFieldError: USE_DEFAULTS
    at com.fasterxml.jackson.annotation.JsonInclude$Value.<clinit>(JsonInclude.java:205)
    at com.fasterxml.jackson.databind.cfg.MapperConfig.<clinit>(MapperConfig.java:45)
    at com.fasterxml.jackson.databind.ObjectMapper.<init>(ObjectMapper.java:543)
    at com.fasterxml.jackson.databind.ObjectMapper.<init>(ObjectMapper.java:460)
    at com.github.fge.jackson.JacksonUtils.newMapper(JacksonUtils.java:155)
    at com.github.fge.jackson.JacksonUtils.<clinit>(JacksonUtils.java:55)
    at com.github.fge.jackson.JsonNodeReader.<init>(JsonNodeReader.java:82)
    at com.github.fge.jackson.JsonLoader.<clinit>(JsonLoader.java:50)
    at com.jayway.restassured.module.jsv.JsonSchemaValidator$4.createJsonNodeInstance(JsonSchemaValidator.java:164)
    at com.jayway.restassured.module.jsv.JsonSchemaValidator$4.createJsonNodeInstance(JsonSchemaValidator.java:161)
    at com.jayway.restassured.module.jsv.JsonSchemaValidator$JsonSchemaValidatorFactory.create(JsonSchemaValidator.java:254)
    at com.jayway.restassured.module.jsv.JsonSchemaValidator.matchesJsonSchema(JsonSchemaValidator.java:161)
    at com.jayway.restassured.module.jsv.JsonSchemaValidator.matchesJsonSchemaInClasspath(JsonSchemaValidator.java:117)
    at com.nasdaq.api.GenericLib.validateJsonSchema(GenericLib.java:441)

【问题讨论】:

【参考方案1】:

您是否添加了最新版本的 jackson-annotations? 2.6 中添加了USE_DEFAULTS 枚举常量:

【讨论】:

谢谢,我添加了最新的并解决了问题。 @user3419588 - 如果您可以将此答案标记为已接受,它将帮助其他人找到有类似问题的解决方案。谢谢!

以上是关于java.lang.NoSuchFieldError: USE_DEFAULTS 在通过 json 模式验证器验证 json 模式时抛出的主要内容,如果未能解决你的问题,请参考以下文章