错误代码

在执行HDFS实践操作的时候,在IDEA中编译代码时出现如下的报错信息:

Exception in thread "main" java.lang.NoClassDefFoundError: com/ctc/wstx/io/InputBootstrapper
at MergeFile.doMerge(MergeFile.java:33)
at MergeFile.main(MergeFile.java:65)
Caused by: java.lang.ClassNotFoundException: com.ctc.wstx.io.InputBootstrapper
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:527)
... 2 more

根据以上的报错信息:看起来是在执行Java程序时出现了java.lang.NoClassDefFoundError异常。该异常通常表示在运行时找不到所需的类

在这种情况下,错误消息指出缺少 com.ctc.wstx.io.InputBootstrapper类。这可能是由于缺少所需的依赖项或类路径配置不正确引起的。

原因

原因由于是缺少Jar包,需要在java工程项目中引入woodstox-core-5.0.3.jar,该JAR包的路径是在/usr/local/hadoop-3.3.6/share/hadoop/common/lib下面,但是这个包出现问题,同时也要考虑是否其他的一些hadoop包也没有导入。

 解决方法

参考 Hadoop(04) HDFS编程实践操作 中第三小节中3.3的方法添加JAR包到java工程中,重新执行代码即可解决问题。

参考资料

Hadoop(04) HDFS编程实践操作-CSDN博客

报错Exception in thread "main" java.lang.NoClassDefFoundError: com/ctc/wstx/io/InputBootstrapper-CSDN博客

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐