java.lang.NoClassDefFoundError:org/apache/hadoop/hbase/MasterNotRunningException
我是用自己的HBase java客户端代码创建的,但我在编译和运行它时遇到了很大的困难。我是从命令行编译的,但是我还没有找到任何关于如何进行编译的说明,或者在我的类路径上需要什么JAR 下面是我正在使用的类路径:java.lang.NoClassDefFoundError:org/apache/hadoop/hbase/MasterNotRunningException,java,classpath,hadoop,javac,hbase,Java,Classpath,Hadoop,Javac,Hbase,我是用自己的HBase java客户端代码创建的,但我在编译和运行它时遇到了很大的困难。我是从命令行编译的,但是我还没有找到任何关于如何进行编译的说明,或者在我的类路径上需要什么JAR 下面是我正在使用的类路径: $HADOOP_HOME/hadoop/hadoop-0.20.2/hadoop-0.20.2-core.jar: $HADOOP_HOME/hbase/hbase-0.90.0/hbase-0.90.0.jar: $HADOOP_HOME/hbase/lib/zookeeper-3.
$HADOOP_HOME/hadoop/hadoop-0.20.2/hadoop-0.20.2-core.jar:
$HADOOP_HOME/hbase/hbase-0.90.0/hbase-0.90.0.jar:
$HADOOP_HOME/hbase/lib/zookeeper-3.3.2.jar
当我运行javac命令时,它编译得很好。但是,当我运行java代码时,会出现以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/MasterNotRunningException
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.MasterNotRunningException
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: HBaseConnection. Program will exit.
我错过了什么
谢谢 类org.apache.hadoop.hbase.MasterNotRunning在类路径上不可用。您很可能没有设置包含hadoop jar的类路径。这可以简单到拼写错误(必须扩展$HOME)。确保本机文件是系统中新生成的 错: [hduser@mastersbin]$hadoop fs-ls/ 16/07/17 15:38:17警告util.NativeCodeLoader:无法为您的平台加载本机hadoop库。。。在适用的情况下使用内置java类 找到5项 drwxr-xr-x-hduser超级组0 2016-07-17 10:57/cm 正确的 [hduser@mastersbin]$hadoop fs-ls/ 找到5项 drwxr-xr-x-hduser超级组0 2016-07-17 10:57/cm 在错误的配置中,请按照下面的链接进行构建 对于RHL 6 GLIBC_2.12上的Hadoop 2.7.2,可以使用 要获得完整的hadoop 2.7.2设置,请执行以下操作:
谢谢。是的,我确实将正确的类路径传递给了javac命令,但是由于这些Hadoop文件不在我的全局类路径上,所以当我使用java命令运行java客户机时出现了错误。使用“java-classpath$MYCLASSPATH HBaseConnection”传入类路径就达到了目的。