我正在使用
运行我的hbase程序java -classpath run.jar com.mycompany.app.HBaseImporter test2 /家庭/ rahulko /下载/我的应用程序内/的Xaa
我在hadoop.env.sh中指定了HADOOP_CLASSPATH,就像这样
for f in $HADOOP_HOME/contrib/capacity-scheduler/*.jar; do
if [ "$HADOOP_CLASSPATH" ]; then
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$f
else
export HADOOP_CLASSPATH=$f
fi
done
export HADOOP_CLASSPATH="$HBASE_HOME/lib/hbase-client-0.98.18-hadoop2.jar:\
$HBASE_HOME/lib/hbase-common-0.98.18-hadoop2.jar:\
$HBASE_HOME/lib/protobuf-java-2.5.0.jar:\
$HBASE_HOME/lib/guava-12.0.1.jar:\
$HBASE_HOME/lib/zookeeper-3.4.6.jar:\
$HBASE_HOME/lib/hbase-protocol-0.98.18-hadoop2.jar"
我也在bashrc中指定了
export CLASSPATH=$CLASSPATH:/usr/local/hbase1/lib/*:/usr/local/hadoop/share/hadoop/common/*
但我仍然得到java.lang.NoClassDefFoundError:org / apache / hadoop / hbase / MasterNotRunningException
但是当我从eclipse运行时程序运行成功
答案 0 :(得分:0)
使用
解决它java -cp“run.jar:/ usr / local / hbase1 / lib / *” com.mycompany.app.HBaseImporter test2 /家庭/ rahulko /下载/我的应用程序内/的Xaa
答案 1 :(得分:0)
mkdir和libs一样,把你的家属jar放到这个
中并运行此命令:
java -Djava.ext.dirs = / xxx / xxx / libs -jar / xxx / xxx / you program jar
可以自动使用dependents jar