首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >java.lang.NoSuchMethodError关于在运行junit测试用例时使用org.json.JSONTokener进行模式验证失败的讨论

java.lang.NoSuchMethodError关于在运行junit测试用例时使用org.json.JSONTokener进行模式验证失败的讨论
EN

Stack Overflow用户
提问于 2019-06-25 02:21:59
回答 1查看 2.4K关注 0票数 2

我添加了代码new JSONObject(new JSONTokener(EsimActivationProcessor.class.getResourceAsStream))来根据json模式验证输入的json请求。服务器上的验证和正常运行。在使用junit测试同一个类时,我会得到java.lang.NoSuchMethodError: org.json.JSONTokener.<init>(Ljava/io/InputStream;)V错误。

我添加了以下罐子:

代码语言:javascript
运行
复制
<dependency>
    <groupId>org.everit.json</groupId>
    <artifactId>org.everit.json.schema</artifactId>
    <version>1.3.0</version>
</dependency>

我尝试删除jar springboot-test jar中的冲突方法:

代码语言:javascript
运行
复制
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
        <exclusion>
            <groupId>com.vaadin.external.google</groupId>
            <artifactId>android-json</artifactId>
        </exclusion>
    </exclusions>
</dependency>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-26 07:38:53

编辑1:

我使用了github-fge json模式验证器,它既可以运行应用程序,也可以使用测试用例。受抚养人:

代码语言:javascript
运行
复制
<dependency>
    <groupId>com.github.fge</groupId>
    <artifactId>json-schema-validator</artifactId>
    <version>2.2.6</version>
</dependency>

代码片段:

代码语言:javascript
运行
复制
JsonNode node = JsonLoader.fromString(builder.toString());
JsonNode data = JsonLoader.fromString(serviceCreateJson.trim());
JsonSchemaFactory factory = JsonSchemaFactory.byDefault();
JsonSchema sch = factory.getJsonSchema(node);
ProcessingReport report = sch.validate(data);
boolean isSuccess = report.isSuccess();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56746019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档