![](/img/trans.png)
[英]Could not find or load main class com.sun.tools.javac.Main hadoop mapreduce
[英]Hadoop “Could not find or load main class com.sun.tools.javac.Main”
在我的问题被重复回答之前,我已经看过所有其他相关问题,但是提供的解决方案对我不起作用,可能是因为我使用的是Cygwin,而不是Unix。
我正在这里试一试。 每当我运行命令(在c:/ hadoop中) bin/hadoop com.sun.tools.javac.Main WordCount.java
,我都会收到错误: Could not find or load main class com.sun.tools.javac.Main
。
我的Java_Home
变量设置为: c:/PROGRA~1/Java/jdk1.7.0_17
( echo $JAVA_HOME
确认了这一点),我的HADOOP_CLASSPATH
为c:/PROGRA~1/Java/jdk1.7.0_17/lib/tools.jar
。
javac -version
确认我正在使用jdk1.7.0_17。
有人知道这可能是什么问题吗?
Windows和Unix / Linux工具之间的区别之一是PATH
和CLASSPATH
变量的处理,在Windows中,为了支持C:\\...
路径符号, PATH
和CLASSPATH
的定界符是分号;
和在Linux上,其中:
在文件路径中非常少见,定界符为:
。
在cygwin上运行时,您正在使用Unix / Linux版本的Hadoop(可能还包括Java)。 这意味着它可能期待CLASSPATH
是冒号( :
)分隔。
因此,您应该使用给定路径的“ Unix”版本,在cygwin中可以通过将c:
替换为/cygdrive/c
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.