在linux上运行带有classpath的Javac命令

时间:2017-02-25 07:38:49

标签: java linux hadoop mapreduce

我有一个名为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

1 个答案:

答案 0 :(得分:1)

这里的问题是变量${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