运行 linux 上带有类路径的 Javac 命令

Running Javac Command with classpath on linux

我有一个名为 TutorialFolder 的文件夹。在这里面,我有 tutorial_class 文件夹和 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

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

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

修复 $HADOOP_CLASSPATH 变量,该命令应该有效。

或者,尝试使用 hadoop classpath 命令

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