出现错误:NoClassDefFoundError javax/xml/bind/DatatypeConverter 类找不到

报错信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at com.jcloud.jcq.common.utils.SignUtils.signWithHmacSha1(SignUtils.java:30)
at com.jcloud.jcq.protocol.Request.sign(Request.java:165)
at com.jcloud.jcq.client.common.RemotingApiWrapper.buildRequestCommunicationUnit(RemotingApiWrapper.java:337)
at com.jcloud.jcq.client.common.RemotingApiWrapper.commonSyncWithRetry(RemotingApiWrapper.java:423)
at com.jcloud.jcq.client.common.RemotingApiWrapper.sync(RemotingApiWrapper.java:87)
at com.jcloud.jcq.client.common.RemotingApiWrapper.sync(RemotingApiWrapper.java:64)
at com.jcloud.jcq.client.common.QueueSelector.refreshRoute(QueueSelector.java:309)
at com.jcloud.jcq.client.common.QueueSelector.getQueuesByTopic(QueueSelector.java:196)
at com.jcloud.jcq.client.consumer.impl.DefaultSubscribeConsumerImpl.privateSubscribeTopic(DefaultSubscribeConsumerImpl.java:251)
at com.jcloud.jcq.client.consumer.impl.DefaultSubscribeConsumerImpl.doBeforeStart(DefaultSubscribeConsumerImpl.java:169)
at com.jcloud.jcq.client.common.AbstractClient.doStart(AbstractClient.java:105)
at com.jcloud.jcq.client.common.AbstractClient.start(AbstractClient.java:57)
at com.jcloud.jcq.sdk.consumer.impl.DefaultConsumerImpl.start(DefaultConsumerImpl.java:37)
at com.decathlon.sfc.order.bff.core.thread.JcqConsumer.run0(JcqConsumer.java:90)
at com.decathlon.sfc.order.bff.core.thread.JcqConsumer.run(JcqConsumer.java:49)
at com.decathlon.sfc.order.bff.core.thread.JcqConsumer.main(JcqConsumer.java:44)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 16 more
  • 明明类存在的呀,为什么报 ClassNoFoundException。。。??
    在这里插入图片描述

我的解决办法

  • 更新 JDK 11 -> JDK 8
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 记得所有模块(资源,依赖),都选 JDK 8
    在这里插入图片描述