Hi, there are multiple versions of com.fasterxml.jackson.core:jackson-core in _database-BLAZEGRAPH_2_1_6RC\rdf-properties. As shown in the following dependency tree, according to Maven's “nearest wins” strategy, only com.fasterxml.jackson.core:jackson-core:2.4.4 can be loaded, and com.fasterxml.jackson.core:jackson-core:2.9.6 will be shadowed.
However, several methods defined in shadowed version com.fasterxml.jackson.core:jackson-core:2.9.6 is referenced by client project via com.github.jsonld-java:jsonld-java:0.12.1, but missing in the actually loaded version com.fasterxml.jackson.core:jackson-core:2.4.4.
For instance, the following missing methods(defined in com.fasterxml.jackson.core:jackson-core:2.9.6) is actually referenced by _database-BLAZEGRAPH_2_1_6RC\rdf-properties, which will introduce a runtime error(i.e., "NoSuchMethodErrors") into _database-BLAZEGRAPH_2_1_6RC\rdf-properties.
1. com.fasterxml.jackson.core.JsonParser: com.fasterxml.jackson.core.JsonParser overrideStdFeatures(int,int) is invoked by _database-BLAZEGRAPH_2_1_6RC\rdf-properties via the following path:
2. com.fasterxml.jackson.core.JsonParser: com.fasterxml.jackson.core.JsonParser overrideFormatFeatures(int,int) is invoked by _database-BLAZEGRAPH_2_1_6RC\rdf-properties via the following path:
Use configuration attribute <dependencyManagement> to unify the version of library com.fasterxml.jackson.core:jackson-core to be 2.9.6 in database-BLAZEGRAPH_2_1_6_RC\rdf-properties's pom file.
Use <exclude> to exclude com.fasterxml.jackson.core:jackson-core:2.4.4 from the dependency tree, so that version 2.9.6 will be loaded.
Upgrade dependency com.github.jsonld-java:jsonld-java from 0.12.1 to 0.12.2. Because the newer version com.github.jsonld-java:jsonld-java:0.12.2 does not invoke the above missing method, such upgrading can solve the problem.
Declare a direct dependency com.fasterxml.jackson.core:jackson-core:2.9.6 in the pom file of _database-BLAZEGRAPH_2_1_6RC\rdf-properties to upgrade version from 2.4.4 to 2.9.6.
Please let me know which solution do you prefer? I can submit a PR to fix it.
Thank you very much for your attention.
Best regards,
Dependency tree----
[INFO] com.blazegraph:rdf-properties:jar:2.1.6-SNAPSHOT
[INFO] +- commons-io:commons-io:jar:2.1:compile
[INFO] +- org.openrdf.sesame:sesame-util:jar:2.8.11:compile
[INFO] | +- com.google.guava:guava:jar:18.0:compile
[INFO] | \- org.slf4j:slf4j-api:jar:1.7.10:compile
[INFO] +- org.openrdf.sesame:sesame-rio-rdfxml:jar:2.8.11:compile
[INFO] | +- org.openrdf.sesame:sesame-model:jar:2.8.11:compile
[INFO] | | \- (org.openrdf.sesame:sesame-util:jar:2.8.11:compile - omitted for duplicate)
[INFO] | +- org.openrdf.sesame:sesame-rio-api:jar:2.8.11:compile
[INFO] | | +- (org.openrdf.sesame:sesame-model:jar:2.8.11:compile - omitted for duplicate)
[INFO] | | \- (org.openrdf.sesame:sesame-util:jar:2.8.11:compile - omitted for duplicate)
[INFO] | +- org.openrdf.sesame:sesame-rio-datatypes:jar:2.8.11:runtime
[INFO] | | +- (org.openrdf.sesame:sesame-model:jar:2.8.11:runtime - omitted for duplicate)
[INFO] | | +- (org.openrdf.sesame:sesame-rio-api:jar:2.8.11:runtime - omitted for duplicate)
[INFO] | | \- (org.openrdf.sesame:sesame-util:jar:2.8.11:runtime - omitted for duplicate)
[INFO] | +- org.openrdf.sesame:sesame-rio-languages:jar:2.8.11:runtime
[INFO] | | +- (org.openrdf.sesame:sesame-model:jar:2.8.11:runtime - omitted for duplicate)
[INFO] | | +- (org.openrdf.sesame:sesame-rio-api:jar:2.8.11:runtime - omitted for duplicate)
[INFO] | | \- (org.openrdf.sesame:sesame-util:jar:2.8.11:runtime - omitted for duplicate)
[INFO] | +- (org.openrdf.sesame:sesame-util:jar:2.8.11:compile - omitted for duplicate)
[INFO] | \- (commons-io:commons-io:jar:2.4:compile - omitted for conflict with 2.1)
[INFO] +- org.openrdf.sesame:sesame-queryresultio-sparqljson:jar:2.8.11:compile
[INFO] | +- org.openrdf.sesame:sesame-queryresultio-api:jar:2.8.11:compile
[INFO] | | +- (org.openrdf.sesame:sesame-model:jar:2.8.11:compile - omitted for duplicate)
[INFO] | | +- (org.openrdf.sesame:sesame-query:jar:2.8.11:compile - omitted for duplicate)
[INFO] | | +- (org.openrdf.sesame:sesame-rio-api:jar:2.8.11:compile - omitted for duplicate)
[INFO] | | \- (org.openrdf.sesame:sesame-util:jar:2.8.11:compile - omitted for duplicate)
[INFO] | +- org.openrdf.sesame:sesame-query:jar:2.8.11:compile
[INFO] | | +- (org.openrdf.sesame:sesame-model:jar:2.8.11:compile - omitted for duplicate)
[INFO] | | \- (org.openrdf.sesame:sesame-rio-api:jar:2.8.11:compile - omitted for duplicate)
[INFO] | +- (org.openrdf.sesame:sesame-model:jar:2.8.11:compile - omitted for duplicate)
[INFO] | +- (org.openrdf.sesame:sesame-util:jar:2.8.11:compile - omitted for duplicate)
[INFO] | \- com.fasterxml.jackson.core:jackson-core:jar:2.4.4:compile
[INFO] +- com.github.jsonld-java:jsonld-java:jar:0.12.1:compile
[INFO] | +- (com.fasterxml.jackson.core:jackson-core:jar:2.9.6:compile - omitted for conflict with 2.4.4)
[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.6:compile
[INFO] | | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile
[INFO] | | \- (com.fasterxml.jackson.core:jackson-core:jar:2.9.6:compile - omitted for conflict with 2.4.4)
[INFO] | +- (org.slf4j:slf4j-api:jar:1.7.25:compile - omitted for conflict with 1.7.10)
[INFO] | +- org.slf4j:jcl-over-slf4j:jar:1.7.25:runtime
[INFO] | | \- (org.slf4j:slf4j-api:jar:1.7.25:runtime - omitted for conflict with 1.7.10)
[INFO] | \- (commons-io:commons-io:jar:2.6:compile - omitted for conflict with 2.1)
[INFO] +- org.semarglproject:semargl-sesame:jar:0.6.1:compile
[INFO] | +- org.semarglproject:semargl-core:jar:0.6.1:compile
[INFO] | +- org.semarglproject:semargl-rdfa:jar:0.6.1:compile
[INFO] | | +- (org.semarglproject:semargl-core:jar:0.6.1:compile - omitted for duplicate)
[INFO] | | \- org.semarglproject:semargl-rdf:jar:0.6.1:compile
[INFO] | | \- (org.semarglproject:semargl-core:jar:0.6.1:compile - omitted for duplicate)
[INFO] | \- (org.openrdf.sesame:sesame-rio-api:jar:2.7.5:compile - omitted for conflict with 2.8.11)
[INFO] \- log4j:log4j:jar:1.2.17:compile
Issue description
Hi, there are multiple versions of com.fasterxml.jackson.core:jackson-core in _database-BLAZEGRAPH_2_1_6RC\rdf-properties. As shown in the following dependency tree, according to Maven's “nearest wins” strategy, only com.fasterxml.jackson.core:jackson-core:2.4.4 can be loaded, and com.fasterxml.jackson.core:jackson-core:2.9.6 will be shadowed.
However, several methods defined in shadowed version com.fasterxml.jackson.core:jackson-core:2.9.6 is referenced by client project via com.github.jsonld-java:jsonld-java:0.12.1, but missing in the actually loaded version com.fasterxml.jackson.core:jackson-core:2.4.4.
For instance, the following missing methods(defined in com.fasterxml.jackson.core:jackson-core:2.9.6) is actually referenced by _database-BLAZEGRAPH_2_1_6RC\rdf-properties, which will introduce a runtime error(i.e., "NoSuchMethodErrors") into _database-BLAZEGRAPH_2_1_6RC\rdf-properties.
1. com.fasterxml.jackson.core.JsonParser: com.fasterxml.jackson.core.JsonParser overrideStdFeatures(int,int) is invoked by _database-BLAZEGRAPH_2_1_6RC\rdf-properties via the following path:
2. com.fasterxml.jackson.core.JsonParser: com.fasterxml.jackson.core.JsonParser overrideFormatFeatures(int,int) is invoked by _database-BLAZEGRAPH_2_1_6RC\rdf-properties via the following path:
Suggested fixing solutions
Please let me know which solution do you prefer? I can submit a PR to fix it.
Thank you very much for your attention. Best regards,
Dependency tree----