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-----