I'm using jsonrpc4j library to handle my jsonrpc api. After migrating to new release of SpringBoot 3.0.0 it builds, but fails on run with an error of RemoteExporter:
ERROR 22396 --- [ main] o.s.boot.SpringApplication : Application run failed
java.lang.NoClassDefFoundError: org/springframework/remoting/support/RemoteExporter
as jsonrpc4j uses it in it.
The reason seems to me in a version of Spring Context which comes with SpringBoot 3.0.0 dependency. org.springframework.remoting
package is lack of .support
package in that version.
Is there any way to avoid the issue?
It looks like org.springframework.remoting
was removed in Spring 6 (see Drop RPC-style remoting: Hessian, HTTP Invoker, JMS Invoker, JAX-WS #27422). In Spring 5.3, the subclasses of RemoteExporter
are marked deprecated (see Deprecate remoting technologies support #25379), but interestingly enough, RemoteExporter
itself wasn't marked as such, but it has been removed anyway. You'll need to find a replacement library or ask the developers of jsonrpc4j to provide a version which supports Spring 6/Spring Boot 3.