Caused by: java.lang.NoClassDefFoundError: javax/ws/rs/WebApplicationException at org.apache.dubbo.rpc.protocol.rest.RestProtocol.<init>(RestProtocol.java:85) ~[dubbo-3.2.0-beta.6.jar:3.2.0-beta.6] at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?] at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?] at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?] at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?] at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?] at org.apache.dubbo.common.beans.support.InstantiationStrategy.instantiate(InstantiationStrategy.java:94) ~[dubbo-common-3.2.0-beta.6.jar:3.2.0-beta.6] at org.apache.dubbo.common.extension.ExtensionLoader.createExtensionInstance(ExtensionLoader.java:832) ~[dubbo-common-3.2.0-beta.6.jar:3.2.0-beta.6] at org.apache.dubbo.common.extension.ExtensionLoader.createExtension(ExtensionLoader.java:791)
~[dubbo-common-3.2.0-beta.6.jar:3.2.0-beta.6]`
RestProtocol类里还引用了import javax.servlet.ServletContext; import javax.ws.rs.ProcessingException; import javax.ws.rs.WebApplicationException;
三个类,而jdk17里已经没有这三个类了
7条答案
按热度按时间nvbavucw1#
@suncairong163 PTAL
vuktfyat2#
javax.servlet.ServletContext
这个来自
javax.servlet
javax.servlet-api
provided
dubbo-dependencies-pom默认指定3.1.0
javax.ws.rs
这个来自
org.jboss.resteasy
resteasy-jaxrs
${resteasy_version}
dubbo-dependencies-bom 默认指定3.0.19.Final
eivgtgni3#
这个类在dubbo3.2.0-beta7都会被移除
wko9yo5t4#
javax.servlet.ServletContext
这个来自
javax.servlet
javax.servlet-api
不是jdk自带的api,和jdk版本是没关系的
上述这句话没错,但是springboot3已经不使用javax了,取而代之的是Jakarta-api,因此报错。
如果dubbo3.2.0要支持springboot3的话,需要废弃所有跟javax有关的api
f87krz0w5#
dubbo rest 后面不使用servlet来实现了 ,就没有这个问题了,现在改造中, servlet 的使用在dubbo3.2.0-beta7都会被移除
bpsygsoo6#
配置文件直接设置
dubbo.application.service-discovery.migration=FORCE_APPLICATION
这个设置方式在3版本无法兼容2版本vmpqdwk37#
配置文件直接设置
dubbo.application.service-discovery.migration=FORCE_APPLICATION
这个设置方式在3版本无法兼容2版本Dubbo 2 的应用级服务发现很多设计有缺陷,不建议使用 Dubbo 2 的应用级服务发现