java - 程序hadoop编译时访问报错

标签 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 文件确实存在(关于一行 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/

相关文章:

java - TestNG - 构造函数上的@Test

java - IDEA 中 sessionFactory 的 bean 中的名称属性位于 'red' 中,即无法解析属性

linux - 在 Linux 上展开文件

hadoop - 如何从Sqoop选项生成Sqoop命令?

linux - 安装 Apache Spot

java - 导入 java.util.Scanner 不适用于 codenameone

java - 如何从可运行 JAR 中读取/写入外部数据资源?

c++ - 简单的 GUI IDE?

c++ - 如何从 cvPoint 中分别获取 x 和 y 坐标到 int?

java - 如何使用Java程序将数据加载到hive中?