我尝试通过命令编译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.jar
是 root
的情况下,它拥有最大的权限,并且 /folder/src/ParallelIndexation.java
文件确实存在(关于一行 javac: no source files
的注释)。解释如何消除错误。
最佳答案
您需要使用冒号 (:) 来分隔 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
关于java - 程序hadoop编译时访问报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16108763/