编译程序的hadoop时出现访问错误

时间:2013-04-19 15:59:09

标签: java linux hadoop compilation classpath

我尝试通过命令

编译hadoop程序
root@one:/opt/jdk1.7.0_06/bin# ./javac -classpath /export/hadoop-1.0.1/hadoop-core-1.0.1.jar;/export/hadoop-1.0.1/log4j-1.2.17.jar -d /folder/classes /folder/src/ParallelIndexation.java

我也收到了以下消息

javac: no source files
Usage: javac <options> <source files>
use a help for a list of possible options
bash: /export/hadoop-1.0.1/log4j-1.2.17.jar: Permission denied

并且在没有查看所有者/export/hadoop-1.0.1/log4j-1.2.17.jarroot的情况下发生,其中包含最大权限,并且/folder/src/ParallelIndexation.java文件确实存在(关于行{{1 }})。解释如何消除错误。

1 个答案:

答案 0 :(得分:1)

你需要使用冒号(:)分隔unix系统上的路径元素 - 半冒号表示命令之间的分隔,试试这个:

root@one:/opt/jdk1.7.0_06/bin# ./javac -classpath \
  /export/hadoop-1.0.1/hadoop-core-1.0.1.jar:/export/hadoop-1.0.1/log4j-1.2.17.jar \
  -d /folder/classes /folder/src/ParallelIndexation.java