On 20/01/2021 21:24, Johan Kumps wrote:
Hi Andy,

Thanks for your reply but as you can see in the output of
maven dependency:tree I only have commons-codec via Jena :

dependency:tree only prints dependency once, not every use in the tree.

What you see there are the decisions made after applying the maven resolving rules - not how it made the decisions.

What is confusing is that it prints dependency conclusions, not the route by which it resolved it (encounter order). So it is saying it resolved commons-code as 1.13 and then used it for Jena.

This may help:

mvn dependency:tree -Dverbose


commons-io is different as well and some others.

org.apache.commons:commons-compress appears by a different route and its later yet Jena depends on it.

httpclient 4.5.11 not 4.5.13.

JENA-1898

That's why Jena directly depends on common-codec.


You can check the Jena download which contains the apache-jena jars at the moment the release was done. It has codec 1.15.

There are two fixes:

+ Add a dependency directly in your POM because that will be first encounter.
+ Find the subsystem that is depending in code (recursively)

    Andy


[INFO]
[INFO] --- maven-dependency-plugin:3.1.1:tree (default-cli) @
featureofinterest-api ---
[INFO] my.application:featureofinterest-api:jar:1.0-SNAPSHOT
[INFO] +- my.application:base-rdfizer:jar:1.0-SNAPSHOT:compile
[INFO] +- my.application:common:jar:1.0-SNAPSHOT:compile
[INFO] |  +- commons-fileupload:commons-fileupload:jar:1.4:compile
[INFO] |  |  \- commons-io:commons-io:jar:2.2:compile
[INFO] |  \-
org.springframework.boot:spring-boot-starter-data-jpa:jar:2.2.5.RELEASE:compile
[INFO] |     +-
org.springframework.boot:spring-boot-starter-aop:jar:2.2.5.RELEASE:compile
[INFO] |     +-
org.springframework.boot:spring-boot-starter-jdbc:jar:2.2.5.RELEASE:compile
[INFO] |     |  +- com.zaxxer:HikariCP:jar:3.4.2:compile
[INFO] |     |  \- org.springframework:spring-jdbc:jar:5.2.4.RELEASE:compile
[INFO] |     +- jakarta.activation:jakarta.activation-api:jar:1.2.2:compile
[INFO] |     +-
jakarta.persistence:jakarta.persistence-api:jar:2.2.3:compile
[INFO] |     +-
jakarta.transaction:jakarta.transaction-api:jar:1.3.3:compile
[INFO] |     +- org.hibernate:hibernate-core:jar:5.4.12.Final:compile
[INFO] |     |  +- org.jboss.logging:jboss-logging:jar:3.4.1.Final:compile
[INFO] |     |  +- org.javassist:javassist:jar:3.24.0-GA:compile
[INFO] |     |  +- antlr:antlr:jar:2.7.7:compile
[INFO] |     |  +- org.jboss:jandex:jar:2.1.1.Final:compile
[INFO] |     |  +- org.dom4j:dom4j:jar:2.1.1:compile
[INFO] |     |  +-
org.hibernate.common:hibernate-commons-annotations:jar:5.1.0.Final:compile
[INFO] |     |  \- org.glassfish.jaxb:jaxb-runtime:jar:2.3.2:compile
[INFO] |     |     +- org.glassfish.jaxb:txw2:jar:2.3.2:compile
[INFO] |     |     +-
com.sun.istack:istack-commons-runtime:jar:3.0.8:compile
[INFO] |     |     +- org.jvnet.staxex:stax-ex:jar:1.8.1:compile
[INFO] |     |     \- com.sun.xml.fastinfoset:FastInfoset:jar:1.2.16:compile
[INFO] |     +-
org.springframework.data:spring-data-jpa:jar:2.2.5.RELEASE:compile
[INFO] |     |  +-
org.springframework.data:spring-data-commons:jar:2.2.5.RELEASE:compile
[INFO] |     |  \- org.springframework:spring-orm:jar:5.2.4.RELEASE:compile
[INFO] |     \- org.springframework:spring-aspects:jar:5.2.4.RELEASE:compile
[INFO] +- my.application:spring-jena-starter:jar:0.0.1-SNAPSHOT:compile
[INFO] |  +-
org.springframework.boot:spring-boot-starter:jar:2.2.5.RELEASE:compile
[INFO] |  |  +-
org.springframework.boot:spring-boot:jar:2.2.5.RELEASE:compile
[INFO] |  |  +-
org.springframework.boot:spring-boot-autoconfigure:jar:2.2.5.RELEASE:compile
[INFO] |  |  +-
org.springframework.boot:spring-boot-starter-logging:jar:2.2.5.RELEASE:compile
[INFO] |  |  |  +- ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO] |  |  |  |  \- ch.qos.logback:logback-core:jar:1.2.3:compile
[INFO] |  |  |  +-
org.apache.logging.log4j:log4j-to-slf4j:jar:2.12.1:compile
[INFO] |  |  |  |  \- org.apache.logging.log4j:log4j-api:jar:2.12.1:compile
[INFO] |  |  |  \- org.slf4j:jul-to-slf4j:jar:1.7.30:compile
[INFO] |  |  +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
[INFO] |  |  \- org.yaml:snakeyaml:jar:1.25:runtime
[INFO] |  +- org.apache.jena:apache-jena-libs:pom:3.17.0:compile
[INFO] |  |  +- org.apache.jena:jena-shacl:jar:3.17.0:compile
[INFO] |  |  |  \- org.apache.jena:jena-arq:jar:3.17.0:compile
[INFO] |  |  |     +- org.apache.jena:jena-core:jar:3.17.0:compile
[INFO] |  |  |     |  +- org.apache.jena:jena-base:jar:3.17.0:compile
[INFO] |  |  |     |  |  +-
org.apache.jena:jena-shaded-guava:jar:3.17.0:compile
[INFO] |  |  |     |  |  +- org.apache.commons:commons-csv:jar:1.8:compile
[INFO] |  |  |     |  |  +- commons-codec:commons-codec:jar:1.13:compile
[INFO] |  |  |     |  |  \-
com.github.andrewoma.dexx:collection:jar:0.7:compile
[INFO] |  |  |     |  +- org.apache.jena:jena-iri:jar:3.17.0:compile
[INFO] |  |  |     |  \- commons-cli:commons-cli:jar:1.4:compile
[INFO] |  |  |     +-
org.apache.httpcomponents:httpclient:jar:4.5.11:compile
[INFO] |  |  |     |  \-
org.apache.httpcomponents:httpcore:jar:4.4.13:compile
[INFO] |  |  |     +- com.github.jsonld-java:jsonld-java:jar:0.13.2:compile
[INFO] |  |  |     +-
org.apache.httpcomponents:httpclient-cache:jar:4.5.11:compile
[INFO] |  |  |     +- org.apache.thrift:libthrift:jar:0.13.0:compile
[INFO] |  |  |     |  \-
javax.annotation:javax.annotation-api:jar:1.3.2:compile
[INFO] |  |  |     \- org.slf4j:jcl-over-slf4j:jar:1.7.30:compile
[INFO] |  |  +- org.apache.jena:jena-tdb:jar:3.17.0:compile
[INFO] |  |  +- org.apache.jena:jena-tdb2:jar:3.17.0:compile
[INFO] |  |  |  \- org.apache.jena:jena-dboe-storage:jar:3.17.0:compile
[INFO] |  |  |     \-
org.apache.jena:jena-dboe-trans-data:jar:3.17.0:compile
[INFO] |  |  |        +-
org.apache.jena:jena-dboe-transaction:jar:3.17.0:compile
[INFO] |  |  |        |  \-
org.apache.jena:jena-dboe-base:jar:3.17.0:compile
[INFO] |  |  |        \- org.apache.jena:jena-dboe-index:jar:3.17.0:compile
[INFO] |  |  \- org.apache.jena:jena-rdfconnection:jar:3.17.0:compile
[INFO] |  \- org.apache.jena:jena-querybuilder:jar:3.17.0:compile
[INFO] +- my.application:model:jar:1.0-SNAPSHOT:compile
[INFO] |  +- my.application:library-senml:jar:1.0.0-SNAPSHOT:compile
[INFO] |  +- org.springframework:spring-web:jar:5.2.4.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-beans:jar:5.2.4.RELEASE:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-core:jar:2.10.2:compile
[INFO] |  +- org.apache.velocity:velocity:jar:1.7:compile
[INFO] |  |  +- commons-collections:commons-collections:jar:3.2.1:compile
[INFO] |  |  \- commons-lang:commons-lang:jar:2.4:compile
[INFO] |  +- commons-logging:commons-logging:jar:1.2:compile
[INFO] |  \- com.fasterxml.jackson.core:jackson-databind:jar:2.10.2:compile
[INFO] +- my.application:bindings:jar:1.0-SNAPSHOT:compile
[INFO] |  +- my.application:jena-test:jar:1.0-SNAPSHOT:compile
[INFO] |  |  +- org.junit.jupiter:junit-jupiter-params:jar:5.5.2:compile
[INFO] |  |  +- org.junit.jupiter:junit-jupiter-engine:jar:5.5.2:compile
[INFO] |  |  +- org.testcontainers:testcontainers:jar:1.15.1:compile
[INFO] |  |  |  +- org.apache.commons:commons-compress:jar:1.20:compile
[INFO] |  |  |  +- org.rnorth.duct-tape:duct-tape:jar:1.0.8:compile
[INFO] |  |  |  +-
org.rnorth.visible-assertions:visible-assertions:jar:2.1.2:compile
[INFO] |  |  |  +- com.github.docker-java:docker-java-api:jar:3.2.7:compile
[INFO] |  |  |  \-
com.github.docker-java:docker-java-transport-zerodep:jar:3.2.7:compile
[INFO] |  |  |     \-
com.github.docker-java:docker-java-transport:jar:3.2.7:compile
[INFO] |  |  \- org.testcontainers:junit-jupiter:jar:1.15.0:compile
[INFO] |  +- net.java.dev.jna:jna:jar:4.5.2:compile
[INFO] |  +-
org.springframework.kafka:spring-kafka:jar:2.3.6.RELEASE:compile
[INFO] |  |  +- org.apache.kafka:kafka-clients:jar:2.3.1:compile
[INFO] |  |  |  +- com.github.luben:zstd-jni:jar:1.4.0-1:compile
[INFO] |  |  |  +- org.lz4:lz4-java:jar:1.6.0:compile
[INFO] |  |  |  \- org.xerial.snappy:snappy-java:jar:1.1.7.3:compile
[INFO] |  |  +-
org.springframework.retry:spring-retry:jar:1.2.5.RELEASE:compile
[INFO] |  |  +- org.springframework:spring-context:jar:5.2.4.RELEASE:compile
[INFO] |  |  +-
org.springframework:spring-messaging:jar:5.2.4.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-tx:jar:5.2.4.RELEASE:compile
[INFO] |  +- com.bazaarvoice.jolt:jolt-core:jar:0.1.1:compile
[INFO] |  |  \- javax.inject:javax.inject:jar:1:compile
[INFO] |  \- com.bazaarvoice.jolt:json-utils:jar:0.1.1:compile
[INFO] +- org.projectlombok:lombok:jar:1.18.8:provided
[INFO] +- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile
[INFO] +- org.apache.commons:commons-lang3:jar:3.9:compile
[INFO] +- io.springfox:springfox-swagger-ui:jar:2.9.2:compile
[INFO] |  \- io.springfox:springfox-spring-web:jar:2.9.2:compile
[INFO] +- io.springfox:springfox-swagger2:jar:2.9.2:compile
[INFO] |  +- io.swagger:swagger-annotations:jar:1.5.20:compile
[INFO] |  +- io.swagger:swagger-models:jar:1.5.20:compile
[INFO] |  +- io.springfox:springfox-spi:jar:2.9.2:compile
[INFO] |  |  \- io.springfox:springfox-core:jar:2.9.2:compile
[INFO] |  +- io.springfox:springfox-schema:jar:2.9.2:compile
[INFO] |  +- io.springfox:springfox-swagger-common:jar:2.9.2:compile
[INFO] |  +- com.google.guava:guava:jar:20.0:compile
[INFO] |  +- com.fasterxml:classmate:jar:1.5.1:compile
[INFO] |  +- org.slf4j:slf4j-api:jar:1.7.30:compile
[INFO] |  +-
org.springframework.plugin:spring-plugin-core:jar:1.2.0.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-aop:jar:5.2.4.RELEASE:compile
[INFO] |  +-
org.springframework.plugin:spring-plugin-metadata:jar:1.2.0.RELEASE:compile
[INFO] |  \- org.mapstruct:mapstruct:jar:1.2.0.Final:compile
[INFO] +-
org.springframework.boot:spring-boot-starter-actuator:jar:2.2.5.RELEASE:compile
[INFO] |  +-
org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.2.5.RELEASE:compile
[INFO] |  |  +-
org.springframework.boot:spring-boot-actuator:jar:2.2.5.RELEASE:compile
[INFO] |  |  \-
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.10.2:compile
[INFO] |  \- io.micrometer:micrometer-core:jar:1.3.5:compile
[INFO] |     +- org.hdrhistogram:HdrHistogram:jar:2.1.11:compile
[INFO] |     \- org.latencyutils:LatencyUtils:jar:2.0.3:compile
[INFO] +- org.aspectj:aspectjweaver:jar:1.9.6:compile
[INFO] +-
org.springframework.boot:spring-boot-starter-web:jar:2.2.5.RELEASE:compile
[INFO] |  +-
org.springframework.boot:spring-boot-starter-json:jar:2.2.5.RELEASE:compile
[INFO] |  |  +-
com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.10.2:compile
[INFO] |  |  \-
com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.10.2:compile
[INFO] |  +-
org.springframework.boot:spring-boot-starter-tomcat:jar:2.2.5.RELEASE:compile
[INFO] |  |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.31:compile
[INFO] |  |  +- org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.31:compile
[INFO] |  |  \-
org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.31:compile
[INFO] |  +-
org.springframework.boot:spring-boot-starter-validation:jar:2.2.5.RELEASE:compile
[INFO] |  |  +- jakarta.validation:jakarta.validation-api:jar:2.0.2:compile
[INFO] |  |  \-
org.hibernate.validator:hibernate-validator:jar:6.0.18.Final:compile
[INFO] |  \- org.springframework:spring-webmvc:jar:5.2.4.RELEASE:compile
[INFO] |     \-
org.springframework:spring-expression:jar:5.2.4.RELEASE:compile
[INFO] +-
org.springframework.boot:spring-boot-starter-test:jar:2.2.5.RELEASE:test
[INFO] |  +-
org.springframework.boot:spring-boot-test:jar:2.2.5.RELEASE:compile
[INFO] |  +-
org.springframework.boot:spring-boot-test-autoconfigure:jar:2.2.5.RELEASE:test
[INFO] |  +- com.jayway.jsonpath:json-path:jar:2.4.0:test
[INFO] |  |  \- net.minidev:json-smart:jar:2.3:test
[INFO] |  |     \- net.minidev:accessors-smart:jar:1.2:test
[INFO] |  |        \- org.ow2.asm:asm:jar:5.0.4:test
[INFO] |  +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.2:compile
[INFO] |  +- org.junit.jupiter:junit-jupiter:jar:5.5.2:test
[INFO] |  +- org.junit.vintage:junit-vintage-engine:jar:5.5.2:test
[INFO] |  |  \- org.junit.platform:junit-platform-engine:jar:1.5.2:compile
[INFO] |  +- org.mockito:mockito-junit-jupiter:jar:3.1.0:test
[INFO] |  +- org.assertj:assertj-core:jar:3.13.2:test
[INFO] |  +- org.hamcrest:hamcrest:jar:2.1:compile
[INFO] |  +- org.mockito:mockito-core:jar:3.1.0:compile
[INFO] |  |  +- net.bytebuddy:byte-buddy:jar:1.10.8:compile
[INFO] |  |  +- net.bytebuddy:byte-buddy-agent:jar:1.10.8:compile
[INFO] |  |  \- org.objenesis:objenesis:jar:2.6:compile
[INFO] |  +- org.skyscreamer:jsonassert:jar:1.5.0:test
[INFO] |  |  \-
com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:test
[INFO] |  +- org.springframework:spring-core:jar:5.2.4.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-jcl:jar:5.2.4.RELEASE:compile
[INFO] |  +- org.springframework:spring-test:jar:5.2.4.RELEASE:compile
[INFO] |  \- org.xmlunit:xmlunit-core:jar:2.6.3:test
[INFO] +- org.junit.jupiter:junit-jupiter-api:jar:5.5.2:test
[INFO] |  +- org.apiguardian:apiguardian-api:jar:1.1.0:compile
[INFO] |  +- org.opentest4j:opentest4j:jar:1.2.0:compile
[INFO] |  \- org.junit.platform:junit-platform-commons:jar:1.5.2:compile
[INFO] +- org.junit.platform:junit-platform-suite-api:jar:1.5.2:test
[INFO] \- org.junit.platform:junit-platform-runner:jar:1.5.2:test
[INFO]    +- junit:junit:jar:4.12:compile
[INFO]    |  \- org.hamcrest:hamcrest-core:jar:2.1:compile
[INFO]    \- org.junit.platform:junit-platform-launcher:jar:1.5.2:test
[INFO]
------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO]
------------------------------------------------------------------------
[INFO] Total time:  2.972 s
[INFO] Finished at: 2021-01-20T22:21:27+01:00
[INFO]
------------------------------------------------------------------------


Op wo 20 jan. 2021 om 21:50 schreef Andy Seaborne <a...@apache.org>:

Hi Johan,

https://repo1.maven.org/maven2/org/apache/jena/jena/3.17.0/jena-3.17.0.pom

Jena uses

   <ver.commons-codec>1.15</ver.commons-codec>

Something in your application is causing maven to choose 1.13
It may be a dependency that is "nearer" to your application such as
httpcomponents.

jena has:
        <dependency>
          <groupId>org.apache.httpcomponents</groupId>
          <artifactId>httpclient</artifactId>
          <version>${ver.httpclient}</version>
          <exclusions>
            <!-- Replace with slf4j adapter -->
            <exclusion>
              <groupId>commons-logging</groupId>
              <artifactId>commons-logging</artifactId>
            </exclusion>
            <exclusion>
              <groupId>commons-codec</groupId>
              <artifactId>commons-codec</artifactId>
            </exclusion>
          </exclusions>
        </dependency>

but if there is another httpcomponents dependency (transitively) then
that may cause maven to pull in 1.13.

      Andy

On 20/01/2021 20:16, Johan Kumps wrote:
Hi all,

I'm using version 3.17.0 and get this error:

Caused by: java.lang.NoSuchMethodError: 'long[]
org.apache.commons.codec.digest.MurmurHash3.hash128x64(byte[])'
at

org.apache.jena.riot.lang.BlankNodeAllocatorHash.alloc(BlankNodeAllocatorHash.java:138)
at

org.apache.jena.riot.lang.BlankNodeAllocatorHash.lambda$alloc$0(BlankNodeAllocatorHash.java:98)
at
org.apache.jena.ext.com
.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4876)
at
org.apache.jena.ext.com
.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529)
at
org.apache.jena.ext.com
.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278)
at
org.apache.jena.ext.com
.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155)
at
org.apache.jena.ext.com
.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045)
... 93 common frames omitted

According to https://github.com/OpenRefine/OpenRefine/pull/3379 and

https://github.com/OpenRefine/OpenRefine/pull/3379/commits/9b9384aa691d3bb3a8b0a00cae8dc2154a4b51bf
it
seems that Commons codec 1.15 is needed from version 3.14+
When executing mvn dependency:tree I see that Commons Codec 1.13 is used:

[INFO] |  +- org.apache.jena:apache-jena-libs:pom:3.17.0:compile
[INFO] |  |  +- org.apache.jena:jena-shacl:jar:3.17.0:compile
[INFO] |  |  |  \- org.apache.jena:jena-arq:jar:3.17.0:compile
[INFO] |  |  |     +- org.apache.jena:jena-core:jar:3.17.0:compile
[INFO] |  |  |     |  +- org.apache.jena:jena-base:jar:3.17.0:compile
[INFO] |  |  |     |  |  +-
org.apache.jena:jena-shaded-guava:jar:3.17.0:compile
[INFO] |  |  |     |  |  +-
org.apache.commons:commons-csv:jar:1.8:compile
[INFO] |  |  |     |  |  +- commons-codec:commons-codec:jar:1.13:compile
[INFO] |  |  |     |  |  \-
com.github.andrewoma.dexx:collection:jar:0.7:compile
[INFO] |  |  |     |  +- org.apache.jena:jena-iri:jar:3.17.0:compile
[INFO] |  |  |     |  \- commons-cli:commons-cli:jar:1.4:compile
[INFO] |  |  |     +-
org.apache.httpcomponents:httpclient:jar:4.5.11:compile
[INFO] |  |  |     |  \-
org.apache.httpcomponents:httpcore:jar:4.4.13:compile
[INFO] |  |  |     +-
com.github.jsonld-java:jsonld-java:jar:0.13.2:compile
[INFO] |  |  |     +-
org.apache.httpcomponents:httpclient-cache:jar:4.5.11:compile
[INFO] |  |  |     +- org.apache.thrift:libthrift:jar:0.13.0:compile
[INFO] |  |  |     |  \-
javax.annotation:javax.annotation-api:jar:1.3.2:compile
[INFO] |  |  |     \- org.slf4j:jcl-over-slf4j:jar:1.7.30:compile

The 3.17.0 version has been downloaded from
https://repo.maven.apache.org/maven2/org/apache/jena/.

How can I get this fixed? This is heavily blocking me.

Thanks in advance,
Johan,



Reply via email to