在我的问题以副本形式结束之前:我已经查看了所有其他相关问题,但提供的解决方案对我不起作用,可能是因为我使用的是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\u 17。
有人知道问题出在哪里吗?
1条答案
按热度按时间rmbxnbpk1#
windows和unix/linux工具的区别之一是处理
PATH
以及CLASSPATH
变量,其中在windows中,支持C:\...
路径表示法,中的分隔符PATH
以及CLASSPATH
是分号;
,在linux上:
在文件路径是非常罕见的,分隔符是:
.当您在cygwin上运行时,您使用的是unix/linux版本的hadoop(可能还有java)。这意味着它可能在期待
CLASSPATH
冒号(:
)分隔的。因此,应该使用给定路径的“unix”版本,在cygwin中,通过替换
c:
与/cygdrive/c
.