Re: Dependencies missing when using solr-core-10.0.0 instead of 9.10.1

Thorsten Heit <[email protected]> Thu, 12 Mar 2026 10:46:12 +0100
Newsgroups gmane.comp.jakarta.turbine.maven.user
Message-ID <[email protected]>
Hi,

I forgot to mention that this was tested with Maven 3.9.13 and Java 25 
(Temurin 25.0.2 to be precise) on Windows 11 if that matters.


/Thorsten

Am 12.03.26 um 10:32 schrieb Thorsten Heit:
> Hi,
> 
> I have asked this on the Solr mailing list before, but got no helpful 
> answer so far. I hope someone here as a glue what's going on:
> 
> 
> I have written an internal library that uses SolrJ for connecting to a 
> (remote) Solr server. The library is a multi-module project consisting 
> of several parts; the interesting ones are:
> 
> - a common module that represents the bridge to Solr (by using SolrJ)
> - a test module that implements JUnit tests and an integration test; 
> uses jetty-maven-plugin to start a local Solr server with an empty 
> database before the IT is executed
> 
> 
> Actually I'm using the following dependencies in the IT module pom 
> (unnecessary parts omitted):
> 
> <dependencies>
>      <dependency>
>          <groupId>org.apache.logging.log4j</groupId>
>          <artifactId>log4j-core</artifactId>
>      </dependency>
>      <dependency>
>          <groupId>${project.groupId}</groupId>
>          <!-- bridge to connect to Solr: -->
>          <artifactId>solr-connector-common</artifactId>
>          <version>${project.version}</version>
>      </dependency>
>      <dependency>
>          <groupId>org.apache.solr</groupId>
>          <artifactId>solr-core</artifactId>
>          <version>${solr.version}</version>
>      </dependency>
> 
>      <dependency>
>          <groupId>org.junit.jupiter</groupId>
>          <artifactId>junit-jupiter-engine</artifactId>
>          <scope>test</scope>
>      </dependency>
>      <dependency>
>          <groupId>org.junit.jupiter</groupId>
>          <artifactId>junit-jupiter-params</artifactId>
>          <scope>test</scope>
>      </dependency>
> </dependencies>
> 
> (the property "solr.version" is defined in the parent pom)
> 
> 
> With solr-core-9.10.1 "mvn dependency:tree" gives me
> 
> (...)
> [INFO] +- org.apache.solr:solr-core:jar:9.10.1:compile
> [INFO] |  +- org.apache.lucene:lucene-core:jar:9.12.2:compile
> [INFO] |  +- org.apache.lucene:lucene-analysis-common:jar:9.12.2:compile
> [INFO] |  +- org.apache.lucene:lucene-queries:jar:9.12.3:compile
> (...)
> [INFO] |  \- org.xerial.snappy:snappy-java:jar:1.1.10.8:runtime
> [INFO] +- org.eclipse.jdt:org.eclipse.jdt.annotation:jar:2.4.100:provided
> [INFO] +- org.junit.jupiter:junit-jupiter-engine:jar:6.0.3:test
> [INFO] |  +- org.junit.platform:junit-platform-engine:jar:6.0.3:test
> [INFO] |  |  +- org.opentest4j:opentest4j:jar:1.3.0:test
> [INFO] |  |  \- org.junit.platform:junit-platform-commons:jar:6.0.3:test
> [INFO] |  +- org.junit.jupiter:junit-jupiter-api:jar:6.0.3:test
> [INFO] |  +- org.apiguardian:apiguardian-api:jar:1.1.2:test
> [INFO] |  \- org.jspecify:jspecify:jar:1.0.0:runtime
> [INFO] \- org.junit.jupiter:junit-jupiter-params:jar:6.0.3:test
> (...)
> 
> 
> What puzzles me that the same command with solr-core-10.0.0 only shows
> 
> (...)
> [INFO] +- org.apache.solr:solr-core:jar:10.0.0:compile
> [INFO] +- org.eclipse.jdt:org.eclipse.jdt.annotation:jar:2.4.100:provided
> [INFO] +- org.junit.jupiter:junit-jupiter-engine:jar:6.0.3:test
> [INFO] |  +- org.junit.platform:junit-platform-engine:jar:6.0.3:test
> [INFO] |  |  +- org.opentest4j:opentest4j:jar:1.3.0:test
> [INFO] |  |  \- org.junit.platform:junit-platform-commons:jar:6.0.3:test
> [INFO] |  +- org.junit.jupiter:junit-jupiter-api:jar:6.0.3:test
> [INFO] |  +- org.apiguardian:apiguardian-api:jar:1.1.2:test
> [INFO] |  \- org.jspecify:jspecify:jar:1.0.0:runtime
> [INFO] \- org.junit.jupiter:junit-jupiter-params:jar:6.0.3:test
> (...)
> 
> i.e. no dependencies at all in solr-core-10.0.0 in the tree. Therefore 
> the IT test fails with ClassNotFoundExceptions when Jetty starts the 
> local server:
> 
> (...)
> [WARNING] Failed startup of context 
> oeje10mp.MavenWebAppContext@54bd2345{/solr,/solr,b=file:///(...)/solr- 
> connector-tests/src/main/ 
> webapp/,a=STOPPED,h=oeje10s.SessionHandler@10897221{STOPPED}}{file:/// 
> (...)/solr-connector-tests/src/main/webapp/}
> java.lang.NoClassDefFoundError: org/apache/solr/common/cloud/ 
> ClusterPropertiesListener
>      at java.lang.Class.getDeclaredConstructors0 (Native Method)
>      at java.lang.Class.privateGetDeclaredConstructors (Class.java:2985)
>      at java.lang.Class.getConstructor0 (Class.java:3180)
>      at java.lang.Class.getDeclaredConstructor (Class.java:2491)
>      at 
> org.eclipse.jetty.ee10.servlet.ServletContextHandler$ServletScopedContext.createInstance (ServletContextHandler.java:2023)
>      at org.eclipse.jetty.ee10.servlet.BaseHolder.createInstance 
> (BaseHolder.java:203)
> (...)
> 
> 
> But:
> 
> When you look at the pom of solr-core-10.0.0 there are indeed lots of 
> dependencies; if I counted correctly 76 in sum, 9 having scope 
> "compiled" and 67 with scope "runtime".
> Additionally the poms of solr-core-9.10.1 and solr-core-10.0.0 don't 
> differ much. The dependencies are basically the same, some with newer 
> versions; a few removed, a few added IIRC.
> 
> 
> To make the IT work again I manually have to add about a third of the 
> dependencies defined in solr-core-10.0.0 such as org.apache.solr:solr- 
> solrj, org.apache.solr:solr-solrj-zookeeper, tons of lucene dependencies 
> etc.
> 
> 
> Has somehere a clue why this is necessary?
> 
> 
> Regards
> 
> Thorsten
OpenPGP_0x5A54BBB878225E08.asc (application/pgp-keys, 3 KB)
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
=Vfaa
-----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature.asc (application/pgp-signature, 840 B)
-----BEGIN PGP SIGNATURE-----

wsF5BAABCAAjFiEEg4R16yy6iEem6mq+WlS7uHgiXggFAmmyi2QFAwAAAAAACgkQWlS7uHgiXgjv
zhAAkodpMki35hwrxoK0a2Nnab4F5P41Kg0exYQhhhOgcsDvbJw7d73CTh+ndmmUsI/BkP/+ayf6
t70Aq0EqYPT82qGnb3oMDYo9NUS//9dJVLsCLcdkPE7uwLBXxe8z0TrnvnbSBVpejntZZxO0tEeJ
AtgaaK3YQcDG0PznZVOrzylr6866tnPr6UWIwmkobs57k+mjf3NWhOk1rMjQMCCU2xk71KUFM56H
dMdSOM2+iVdfWJnCRjd2JBMWaTQBmO8gnoopjpfrEZ4QiOLft3v7z6CmWU0CIWbxhoFCRpJisLBS
zyBdVQiMKZWJ5ZqqVpATortQ+UpmfQIRCbjvOU+D6H1n5znF+Io3A9rYNcZ4dqTqVZat0fvqKDGn
9K/TFf+jjmWllYCthI82e4E8dqIZDV9m4DYgWZ7P+lyJfRpe1b7OIHR2Zl0QTRsn9BSB2McEGbWZ
L4So1sfupkKdWqj8BL+fGLt56Ml9Wq1Fg6DXbU3dBV/znOzaf2SqRrWWTZ0GbcLSgubUh5rxYaHG
d4BGf1E8ADDSJBQcgT6hQmbPLUgnOHqU87gMp1ThQwi3sC2PYkBS4Vp4jBYGJFLS9pLT2vgOQJfo
3FSBw+ONE/CV/1EXcft6+OY3hvaxaB7/XDyPIJF42/SU5oBEQUaibVIkWDKhDygIGeO+5rdGPh7y
zSI=
=ZNtW
-----END PGP SIGNATURE-----