gpt4 book ai didi

运行 junit 测试用例时,使用 org.json.JSONTokener 进行架构验证失败时出现 java.lang.NoSuchMethodError

转载 作者:行者123 更新时间:2023-12-02 03:58:23 28 4
gpt4 key购买 nike

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

我添加了以下 jar :

<dependency>
<groupId>org.everit.json</groupId>
<artifactId>org.everit.json.schema</artifactId>
<version>1.3.0</version>
</dependency>

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

<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>

最佳答案

编辑1:

我使用了 github-fge json-schema-validator,它在应用程序运行以及使用测试用例中都有效。依赖关系:

<dependency>
<groupId>com.github.fge</groupId>
<artifactId>json-schema-validator</artifactId>
<version>2.2.6</version>
</dependency>

代码片段:

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();

关于运行 junit 测试用例时,使用 org.json.JSONTokener 进行架构验证失败时出现 java.lang.NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56746019/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com