2026-09-01
We have dependency convergence problems in PRs #4177 #4180.
[ERROR] +-com.github.ben-manes.caffeine:caffeine:jar:3.2.4:compile
[ERROR] +-org.jspecify:jspecify:jar:1.0.0:compile
[ERROR] +-com.google.guava:guava:jar:33.7.1-jre:compile
[ERROR] +-org.jspecify:jspecify:jar:1.0.1:compile
[ERROR] +-io.micrometer:micrometer-commons:jar:1.17.1:compile
[ERROR] +-org.jspecify:jspecify:jar:1.0.1:compile
and several other micrometer dependencies.
org.jspecify:jspecify:jar is a collection of annotations for Java static analysis.
It is not required at runtime although that team recommend it is present.
caffeine will presumably catch-up.
We already exclude some runtime-optional exclusions for caffeine.
A fix is adding another exclusion on caffeine which might later be removed.
Jena has two uses of jspecify --
jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/sparql/engine/benchmark/QueryTaskResult.java
jena-core/src/main/java/org/apache/jena/mem/collection/JenaSet.java
In QueryTaskResult it is on a call to String.join which does return new String and can't be null.
In JenaSet, use Objects.requireNonNull.
2026-09-01
We have dependency convergence problems in PRs #4177 #4180.
and several other micrometer dependencies.
org.jspecify:jspecify:jaris a collection of annotations for Java static analysis.It is not required at runtime although that team recommend it is present.
caffeinewill presumably catch-up.We already exclude some runtime-optional exclusions for caffeine.
A fix is adding another exclusion on
caffeinewhich might later be removed.Jena has two uses of
jspecify--jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/sparql/engine/benchmark/QueryTaskResult.javajena-core/src/main/java/org/apache/jena/mem/collection/JenaSet.javaIn
QueryTaskResultit is on a call toString.joinwhich doesreturn new Stringand can't be null.In
JenaSet, useObjects.requireNonNull.