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

Thorsten Heit <[email protected]> Thu, 12 Mar 2026 10:32:09 +0100
Newsgroups gmane.comp.jakarta.turbine.maven.user
Message-ID <[email protected]>
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+WlS7uHgiXggFAmmyiBoFAwAAAAAACgkQWlS7uHgiXghw
fg/+ODP7HMoA4Luy4nqZ7V2thgKJfhrkB8ZfcshdxvQ86s89Uh3CPYCQ1IEWAwbPceUsRpF3aKKd
8kh+L2MP59m/9hN3+uCAkKl8LbC9TUcIf/6uw/eOOLLq2zbPcrriPJgDjr9Fh8X8aPpXkA0Rty0S
Zxv70gkkPvNJSyWLBF2aESTCPfKX0lsEF8krlGx0cDjFzEiPR4jpPs6duV/qZH46sP5wc+qH2Hfe
roRqLCW2q/9vp9EM2OYamKypsOGSzvgioOhEaulYpXBAqdDCtLmD9nwxV46OJCw/gjKS4CHMlVTG
EMB7x4I96wyq/B8zkUXbYKhpz2Zjv66Lby80XA8cYqyZU0H3xAN+YnlHzJ4oE3+xNo7pQAdz7rM9
Z9fOfDk5XqxKge1r+dR7DORfZsvQS5sr6r5nz9ZAINBW/fCHTKfv910xKSFHc9lVri0mR7stXIvP
0Gvahrkh2+SuXKddy88yfdjeQ8DFY65dMv/Taw4OIkX6i+nlbZU7O5u4QmkfPuboIlmqhhok+fYD
N7m9PH+WXCXNGZ4iTeCkBz2kxAXLlbWTvPwpXdokZxlQzhjtA0fiWtNe56a2h0wr/KBG9lnlphyj
CVZOn29TJ5aN2JrpI7TAPIJTrBix/5jgQiYkp4NstoblsTynz9Ts8K12TZ+MieaBe25Mxu9uOpLz
XUY=
=DYYm
-----END PGP SIGNATURE-----