Hadoop“无法找到或加载主类com.sun.tools.javac.Main”

时间:2016-12-19 14:00:25

标签: java bash hadoop cygwin

在我的问题以复制方式结束之前:我已经查看了所有其他相关问题,但提供的解决方案对我不起作用,可能是因为我使用的是Cygwin,而不是Unix。

我正在尝试tuturial here。每当我运行命令(在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_17echo $JAVA_HOME确认此信息),以及HADOOP_CLASSPATHc:/PROGRA~1/Java/jdk1.7.0_17/lib/tools.jar

javac -version确认我正在使用jdk1.7.0_17。

有人知道会出现什么问题吗?

1 个答案:

答案 0 :(得分:1)

Windows和Unix / Linux工具之间的区别之一是处理PATHCLASSPATH变量,在Windows中,支持C:\...路径表示法,PATH路径表示法中的分隔符{1}}和CLASSPATH是分号;,在Linux上,文件路径中的:非常罕见,分隔符为:

当你在cygwin上运行时,你正在使用Unix / Linux版本的Hadoop(也可能是Java)。这意味着它可能期望CLASSPATH以冒号(:)分隔。

所以你应该使用" Unix"您给出的路径的版本,通过将c:替换为/cygdrive/c,可以在cygwin中使用。