在linux上使用类路径运行Javac命令

在linux上使用类路径运行Javac命令,java,linux,hadoop,mapreduce,Java,Linux,Hadoop,Mapreduce,我有一个名为TutorialFolder的文件夹。在这里面,我有教程类文件夹和WordCount.java文件。 当我运行wordcount程序时,它给出了以下错误 hduser@ubuntu:~/Desktop/TutorialFolder$ javac -classpath ${HADOOP_CLASSPATH}-d '/home/hduser/Desktop/TutorialFolder/tutorial_class' '/home/hduser/Desktop/TutorialFolde

我有一个名为TutorialFolder的文件夹。在这里面,我有教程类文件夹和
WordCount.java
文件。 当我运行wordcount程序时,它给出了以下错误

hduser@ubuntu:~/Desktop/TutorialFolder$ javac -classpath ${HADOOP_CLASSPATH}-d '/home/hduser/Desktop/TutorialFolder/tutorial_class' '/home/hduser/Desktop/TutorialFolder/WordCount.java' 
javac: invalid flag: /home/hduser/Desktop/TutorialFolder/tutorial_class
Usage: javac <options> <source files>
use -help for a list of possible options
hduser@ubuntu:~/Desktop/TutorialFolder$javac-classpath${HADOOP_classpath}-d'/home/hduser/Desktop/TutorialFolder/tutorial_class'/home/hduser/Desktop/TutorialFolder/WordCount.java'
javac:无效标志:/home/hduser/Desktop/TutorialFolder/tutorial\u类
用法:javac
使用-help获取可能选项的列表

这里的问题是变量
${HADOOP\u CLASSPATH}
未设置或为空。因此,该命令被解释为:

javac -classpath  -d /home/hduser/Desktop/TutorialFolder/tutorial_class /home/hduser/Desktop/TutorialFolder/WordCount.java 
修复
$HADOOP\u CLASSPATH
变量,命令应该可以工作

或者,尝试使用
hadoop类路径
命令

javac -classpath `hadoop classpath` -d /home/hduser/Desktop/TutorialFolder/tutorial_class /home/hduser/Desktop/TutorialFolder/WordCount.java 

打字错误
${HADOOP\u CLASSPATH}-d
应该是
${HADOOP\u CLASSPATH}-d
@ElliottFrisch:试过了。它仍然给出相同的错误:(是
'/home/hduser/Desktop/TutorialFolder/tutorial\u class'
您想要的类目标文件夹吗?@delca85:是。它是您想要的输出文件夹。您确定它已经存在吗?如何修复此变量?我通过回显${HADOOP\u CLASSPATH}进行了检查。如何修复类路径?将变量添加到
.bashrc
文件,如
导出HADOOP\u类路径=$HADOOP\u HOME/share/HADOOP/common/:$HADOOP\u HOME/share/HADOOP/common/lib/:$HADOOP\u HOME/share/HADOOP/hdfs/:$HADOOP\u HOME/share/HADOOP/hdfs/lib/:$HADOOP\u HOME/share/share/:$HADOOP\u HOME/share/HADOOP/share/:$HADOOP\share/:$行在bashrc中吗?export HADOOP_CLASSPATH=/usr/local/HADOOP/bin:$CLASSPATHNo,该localation用于可执行文件。HADOOP jar文件存储在多个目录中。添加我在上述注释中提到的所有文件夹。