Hmm, maven limitation? I made a gradle project and it gives this without
error:

compileClasspath - Compile classpath for source set 'main'.
\--- org.apache.solr:solr-solrj:10.0.0
     \--- org.apache.solr:solr-api:10.0.0
          +--- com.fasterxml.jackson.core:jackson-annotations:2.20
          \--- io.swagger.core.v3:swagger-annotations-jakarta:2.2.22

compileOnly - Compile-only dependencies for the 'main' feature. (n)
No dependencies

default - Configuration for default artifacts. (n)
No dependencies

implementation - Implementation dependencies for the 'main' feature. (n)
\--- org.apache.solr:solr-solrj:10.0.0 (n)

mainSourceElements - List of source directories contained in the Main
SourceSet. (n)
No dependencies

runtimeClasspath - Runtime classpath of source set 'main'.
\--- org.apache.solr:solr-solrj:10.0.0
     +--- org.apache.solr:solr-api:10.0.0
     |    +--- com.fasterxml.jackson.core:jackson-annotations:2.20
     |    +--- io.swagger.core.v3:swagger-annotations-jakarta:2.2.22
     |    +--- jakarta.ws.rs:jakarta.ws.rs-api:3.1.0
     |    +--- org.semver4j:semver4j:6.0.0
     |    |    \--- org.jspecify:jspecify:1.0.0
     |    \--- org.slf4j:slf4j-api:2.0.17
     +--- com.fasterxml.jackson.core:jackson-databind:2.20.0
     |    +--- com.fasterxml.jackson.core:jackson-annotations:2.20
     |    +--- com.fasterxml.jackson.core:jackson-core:2.20.0
     |    |    \--- com.fasterxml.jackson:jackson-bom:2.20.0
     |    |         +---
com.fasterxml.jackson.core:jackson-annotations:2.20 (c)
     |    |         +--- com.fasterxml.jackson.core:jackson-core:2.20.0 (c)
     |    |         \--- com.fasterxml.jackson.core:jackson-databind:2.20.0
(c)
     |    \--- com.fasterxml.jackson:jackson-bom:2.20.0 (*)
     +--- com.fasterxml.jackson.core:jackson-annotations:2.20
     +--- com.fasterxml.jackson.core:jackson-core:2.20.0 (*)
     +--- org.slf4j:slf4j-api:2.0.17
     \--- org.slf4j:jcl-over-slf4j:2.0.17
          \--- org.slf4j:slf4j-api:2.0.17

On Sat, Mar 7, 2026 at 11:03 AM Bram Luyten <[email protected]> wrote:

> Hi Jan,
>
> Thank you for the swift feedback. To clarify: our app (DSpace, an
> open-source repository platform) depends on both:
>
> 1. solr-solrj (runtime) — as a Solr client
> 2. solr-core (test scope) — for EmbeddedSolrServer in our integration tests
>
> The issue we're seeing is that the published Maven POMs for solr-core (and
> solr-solrj, solr-api) on Maven Central reference
> com.fasterxml.jackson.core:jackson-databind, jackson-core,
> jackson-annotations, jackson-dataformat-smile, and jackson-dataformat-cbor
> without specifying a version. Since Solr's Gradle build manages these
> versions via a BOM/platform that isn't published as a Maven BOM, Maven
> considers the POM invalid and drops all transitive dependencies from that
> artifact.
>
> The Maven warning we see is:
>
> [WARNING] The POM for org.apache.solr:solr-core:jar:10.0.0 is invalid,
>   transitive dependencies (if any) will not be available:
>   5 problems were encountered while building the effective model for
>   org.apache.solr:solr-core:10.0.0
> [ERROR] 'dependencies.dependency.version' for
> com.fasterxml.jackson.core:jackson-annotations:jar is missing.
> [ERROR] 'dependencies.dependency.version' for
> com.fasterxml.jackson.core:jackson-core:jar is missing.
> [ERROR] 'dependencies.dependency.version' for
> com.fasterxml.jackson.core:jackson-databind:jar is missing.
> [ERROR] 'dependencies.dependency.version' for
> com.fasterxml.jackson.dataformat:jackson-dataformat-smile:jar is missing.
> [ERROR] 'dependencies.dependency.version' for
> com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:jar is missing.
>
> The practical impact for Maven consumers: all transitive dependencies of
> the affected artifact are lost (not just the Jackson ones). We had to
> manually declare ~20+ transitive dependencies of solr-core in our own POM
> (Jersey, OpenTelemetry, Curator, Lucene modules, etc.) to work around this.
>
> For solr-solrj the impact is smaller since it has fewer transitive deps,
> but the same invalid-POM warning appears.
>
> Bram
>
> On Sat, Mar 7, 2026 at 3:32 PM Jan Høydahl <[email protected]> wrote:
>
> > I have not looked into it, but it sounds like something that deserves a
> > JIRA to look into.
> > To clarify, your app imports solr-solrj to act as a client, and you are
> > forced to manually specify jackson version. You do not depend on
> solr-core
> > directly?
> >
> > Jan
> >
> > > 7. mars 2026 kl. 08:28 skrev Bram Luyten <[email protected]>:
> > >
> > > Hi,
> > >
> > > I've been lurking on the sidelines on your mailinglist since December
> > > watching the final steps of the SOLR 10 release, thank you very much
> for
> > > all the work and congratulations on the release!!!
> > >
> > > While integrating Solr 10.0.0 as a Maven dependency in our project
> > > (DSpace), we discovered that the published POMs for solr-core,
> > solr-solrj,
> > > and solr-api on Maven Central are missing <version> elements for their
> > > Jackson 2 (com.fasterxml.jackson) dependencies.
> > >
> > > Affected artifacts:
> > >
> > > solr-core:10.0.0 jackson-annotations, jackson-core, jackson-databind,
> > > jackson-dataformat-smile, jackson-dataformat-cbor
> > > solr-solrj:10.0.0 jackson-databind, jackson-annotations, jackson-core
> > > solr-api:10.0.0 jackson-annotations
> > >
> > > Impact: Maven marks these POMs as invalid and refuses to resolve any
> > > transitive dependencies from the affected modules. For solr-core, this
> > > means ~50+ transitive dependencies are silently lost (Jersey,
> > > OpenTelemetry, Curator, Lucene modules, HPPC, etc.). Projects that use
> > > solr-core as a test dependency for EmbeddedSolrServer must manually
> > declare
> > > all of these.
> > >
> > >  Maven warning:
> > >  [WARNING] The POM for org.apache.solr:solr-core:jar:10.0.0 is invalid,
> > > transitive dependencies
> > >  (if any) will not be available: 5 problems were encountered while
> > > building the effective model
> > >  for org.apache.solr:solr-core:10.0.0
> > >  [ERROR] 'dependencies.dependency.version' for
> > > com.fasterxml.jackson.core:jackson-annotations:jar is missing.
> > >  [ERROR] 'dependencies.dependency.version' for
> > > com.fasterxml.jackson.core:jackson-core:jar is missing.
> > >  [ERROR] 'dependencies.dependency.version' for
> > > com.fasterxml.jackson.core:jackson-databind:jar is missing.
> > >  [ERROR] 'dependencies.dependency.version' for
> > > com.fasterxml.jackson.dataformat:jackson-dataformat-smile:jar is
> missing.
> > >  [ERROR] 'dependencies.dependency.version' for
> > > com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:jar is
> missing.
> > >
> > > Root cause (likely): Solr 10 uses Gradle for building and uses a
> Jackson
> > 2
> > > BOM (jackson-bom) for version management. The Gradle maven-publish
> plugin
> > > generates the POM from the Gradle model, but BOM-managed versions are
> not
> > > resolved/flattened into the published POM. Since the published POM has
> no
> > > <parent> element, there is no BOM to fall back on at consumption time.
> > >
> > > Workaround: Projects that depend on solr-core (e.g. for testing with
> > > EmbeddedSolrServer) must explicitly declare all dependencies that would
> > > normally come transitively through solr-core. In our case this meant
> > adding
> > > ~20 explicit test dependencies to match what solr-core would have
> > provided.
> > >
> > > Would it be worth creating a JIRA for this? The fix would likely
> involve
> > > either adding explicit versions to the Gradle dependency declarations
> for
> > > Jackson, or configuring the maven-publish plugin to resolve BOM-managed
> > > versions when generating POMs.
> > >
> > > Thanks,
> > >
> > > Bram Luyten, Atmire
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> >
>


-- 
http://www.needhamsoftware.com (work)
https://a.co/d/b2sZLD9 (my fantasy fiction book)

Reply via email to