我正在学习kafka,刚刚下载了kafka 0.10.1(因为这是我的项目的要求),每当我运行这个命令行代码bin/kafka-server-start.sh config/server.properties我得到这个错误java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter at kafka.utils.CoreUtils$.urlSafeBase64EncodeNoPadding(CoreUtils.scala:298) at kafka.utils.CoreUtils$.generateUuidAsBase64(CoreUtils.scala:286) at kafka.server.KafkaServer$$anonfun$getOrGenerateClusterId$1.apply(KafkaServer.scala:336) at kafka.server.KafkaServer$$anonfun$getOrGenerateClusterId$1.apply(KafkaServer.scala:336) at scala.Option.getOrElse(Option.scala:121) at kafka.server.KafkaServer.getOrGenerateClusterId(KafkaServer.scala:336) at kafka.server.KafkaServer.startup(KafkaServer.scala:203) at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:39) at kafka.Kafka$.main(Kafka.scala:67) at kafka.Kafka.main(Kafka.scala)Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 10 more我实际上使用的是java 12,并从java 11中删除,所以一些建议是在pom.xml文件中添加依赖项,但我从.tar文件中解压缩了kafka,而不是使用maven构建它,所以我如何解决kafka中的这个错误??javax/xml/bind/*我应该为此下载java-8吗?
3 回答

阿波罗的战车
TA贡献1862条经验 获得超6个赞
我正在学习卡夫卡,刚刚下载了卡夫卡0.10.1
此版本的卡夫卡不支持 8 以上的 Java 版本。
只有最新的 Kafka 2.2.0(很可能与您的学习目的相同),增加了对 Java 11 的支持

小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
此 API 自 Java 11 起被删除。您可以参考如何解析 Java.lang.No类防御错误: Javax/xml/绑定/JAXB在 Java 9 中例外,以获取解决方法javax/xml/bind

小唯快跑啊
TA贡献1863条经验 获得超2个赞
我正在使用 JDK10。为此,我添加了类似下面的东西,使其适用于我。1)编辑卡夫卡运行类.bat 2)设置命令=%JAVA% – 添加模块java.xml.bind其余行保持不变。3) 运行卡夫卡服务器
添加回答
举报
0/150
提交
取消