gpt4 book ai didi

java - 类路径中的外部 jar 和 HBase

转载 作者:行者123 更新时间:2023-11-30 05:10:35 26 4
gpt4 key购买 nike

我在文件中使用外部 jar 时遇到问题。我总是得到:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration`  
at this line: `Configuration config = HBaseConfiguration.create();

这个文件位于类路径上,我在运行 jar 时设置选项:

$ java -jar hbase.jar -classpath "/usr/lib/hbase/*:/usr/lib/hadoop/*"

调用此命令后该文件编译成功:

$ javac -classpath "/usr/lib/hbase/*:/usr/lib/hadoop/*" HBaseScanner.java

要做什么?

最佳答案

如果类加载器无法初始化类的静态成员(例如抛出异常),JVM 将抛出 java.lang.NoClassDefFoundError。或者,如果它找不到由此类中的静态初始值设定项访问的另一个类。这看起来就像正在发生的事情,当类加载器厌倦加载 HBaseConfiguraton 时,此类 HBaseConfiguration 正在期待它无法获得的东西,从而导致异常,即丢失。
调试此类故障真是太运气了。

编辑:找出缺少的内容的最简单方法是在连接了所有 HBase 源的调试器中启动程序(例如在 Eclipse 下),并跟踪 HBaseConfiguration.create() 调用。

关于java - 类路径中的外部 jar 和 HBase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3502332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com