Hadoop重新编译WordCount程序报错:cannot access Options

Hadoop版本1.2.1,在根据《hadoop实战》操作把WordCount程序移到别的目录下后,执行以下命令进行重新编译时报错:

javac -classpath hadoop-core-1.2.1.jar  -d playground/classes playground/src/WordCount.java;

报错内容:
playground/src/WordCount.java:68: error: cannot access Options
    String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
                         ^
  class file for org.apache.commons.cli.Options not found
1 error


后把命令修改如下即可:

javac -classpath hadoop-core-1.2.1.jar:lib/commons-cli-1.2.jar  -d playground/classes playground/src/WordCount.java


手动编译程序、打包、运行jar 
无package层次时
编译命令
打包命令
---------------
有package层次时
编译命令
~$javac -classpath ~/hadoop-1.0.3/hadoop-core-1.0.3.jar ~/used_files/WordCount.java -d ~/used_files/
报错: WordCount.java:53:error: cannot access Options

    String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();

                                             ^

  class file for org.apache.commons.cli.Optionsnot found

更改编译命令:

~$javac -classpath hadoop-1.0.3/hadoop-core-1.0.3.jar:hadoop-1.0.3/lib/commons-cli-1.2.jar -d ~/used_files WordCount.java

used_files文件夹下出现org文件夹,里面包含class文件


你可能感兴趣的:(hadoop,wordcount)