Skip to content

org.jspecify:jspecify dependency convergence error #4185

Description

@afs

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions