I'm in the process of upgrading a project that uses SolrJ to run with Spring
Boot 3. I've been able to keep the current version of my jars after migrating
to SpringBoot 3. SolrJ is working in some cases, but I've run into a problem
where it is missing the logging class for Jetty. I get this stack trace:
java.lang.ExceptionInInitializerError: Exception
java.lang.NoClassDefFoundError: org/eclipse/jetty/util/log/Log [in thread
"http-nio-8080-exec-8"]
at
org.eclipse.jetty.http2.hpack.HpackEncoder.<clinit>(HpackEncoder.java:48)
at
org.eclipse.jetty.http2.hpack.HpackFieldPreEncoder.getEncodedField(HpackFieldPreEncoder.java:45)
at
org.eclipse.jetty.http.PreEncodedHttpField.<init>(PreEncodedHttpField.java:79)
at
org.eclipse.jetty.http.PreEncodedHttpField.<init>(PreEncodedHttpField.java:85)
at
org.eclipse.jetty.http.PreEncodedHttpField.<init>(PreEncodedHttpField.java:90)
at org.eclipse.jetty.http.HttpFields.<clinit>(HttpFields.java:48)
at
org.eclipse.jetty.client.transport.HttpRequest.<init>(HttpRequest.java:68)
at
org.eclipse.jetty.client.HttpClient.newHttpRequest(HttpClient.java:449)
at org.eclipse.jetty.client.HttpClient.newRequest(HttpClient.java:439)
at
org.springframework.http.client.JettyClientHttpRequestFactory.createRequest(JettyClientHttpRequestFactory.java:135)
I've looked high and low to find this class. I would hope that it would have
been embedded in the SolrJ jar, but apparently not. I'm using this version of
Solrj:
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>8.11.3</version>
</dependency>
Along with
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-solr</artifactId>
<version>2.4.7</version>
</dependency>
That is part of SpringBoot.
As far as I can tell, the only difference in the build is the version of
SpringBoot libraries.
Any Ideas?
Thank you so much for your help.
Todd Stevenson
NOTICE: This e-mail is for the sole use of the intended recipient and may
contain confidential and privileged information. If you are not the intended
recipient, you are prohibited from reviewing, using, disclosing or distributing
this e-mail or its contents. If you have received this e-mail in error, please
contact the sender by reply e-mail and destroy all copies of this e-mail and
its contents.