leadpony / justify

Justify is a JSON validator based on JSON Schema Specification and Jakarta JSON Processing API (JSON-P).
Apache License 2.0
96 stars 18 forks source link

java.lang.NoSuchMethodError: org.leadpony.justify.internal.base.json.PointerAwareJsonParser.getValue()Ljavax/json/JsonValue; #28

Closed prabindh06 closed 5 years ago

prabindh06 commented 5 years ago

I am Tying this library to validate JSON against Schema , implemented as shown in the example https://github.com/leadpony/justify-examples/blob/master/justify-examples-defaultvalue/src/main/java/org/leadpony/justify/examples/defaultvalue/Example.java

but i am getting this Exception , can you please help me .

Versions compile group: 'org.leadpony.justify', name: 'justify', version: '1.1.0' compile group: 'javax.json', name: 'javax.json-api', version: '1.0' compile group: 'org.glassfish', name: 'jakarta.json', version: '1.1.5'

Please tell me if i am using wrong versions

leadpony commented 5 years ago

Hello prabindh06 Could you please replace javax.json:javax.json-api:1.0 with the following dependency?

<dependency>
    <groupId>jakarta.json</groupId>
    <artifactId>jakarta.json-api</artifactId>
    <version>1.1.5</version>
</dependency>

JSON-P API team changed the groupId and the artifactId of the API artifact after moving from Oracle to Eclipse Jakarta EE. https://mvnrepository.com/artifact/jakarta.json/jakarta.json-api

prabindh06 commented 5 years ago

Thanks for your response @leadpony , but still i am getting same exception . at org.leadpony.justify.internal.schema.io.JsonSchemaReaderImpl.parseValue(JsonSchemaReaderImpl.java:190)

leadpony commented 5 years ago

OK, if you are using Maven as a build tool, would you please try the following command in the directory containing your pom.xml?

mvn dependency:tree

Please show me the output by the command. For exmaple, the command will output the following messages for justify-examples-defaultvalue example.

[INFO] --- maven-dependency-plugin:3.1.1:tree (default-cli) @ justify-examples-defaultvalue ---
[INFO] org.leadpony.justify:justify-examples-defaultvalue:jar:1.1.0-SNAPSHOT
[INFO] +- org.leadpony.justify:justify:jar:1.1.0:compile
[INFO] |  +- jakarta.json:jakarta.json-api:jar:1.1.5:compile
[INFO] |  \- com.ibm.icu:icu4j:jar:64.2:compile
[INFO] \- org.glassfish:jakarta.json:jar:module:1.1.5:runtime
prabindh06 commented 5 years ago

I am using Gradle ,

here is the dependency tree +--- org.leadpony.justify:justify:1.1.0 | +--- jakarta.json:jakarta.json-api:1.1.5 | --- com.ibm.icu:icu4j:64.2 +--- javax.json:javax.json-api:1.0 +--- jakarta.json:jakarta.json-api:1.1.5

leadpony commented 5 years ago

Thank you. The output shows us a dependency to javax.json:javax.json-api:1.0 is not replaced and still exists.

prabindh06 commented 5 years ago

Thank you so much, now its working fine

leadpony commented 5 years ago

It's nice to hear you resolved the problem. FYI I present here all dependencies you actually need.

compile group: 'org.leadpony.justify', name: 'justify', version: '1.1.0'
runtime group: 'org.glassfish', name: 'jakarta.json', classifier: 'module', version: '1.1.5'

Additionally you may add the API artifact explicitly.

compile group: 'jakarta.json', name: 'jakarta.json-api', version: '1.1.5'

Thank you so much for contacting me.

prabindh06 commented 5 years ago

Thank you for your quick response .