Windows 7 在windows 7中的cygwin下安装mahout
我已经成功地在Windows7Pro 64位的cygwin下安装了hadoop 现在我正在安装mahout,但我不能 设置MAHOUT_HOME和变量并在cygwin上运行MAHOUT后,我得到以下错误 我想这与cygwin和windows路径之间的兼容性问题有关,但我找不到应该更改哪个特定路径Windows 7 在windows 7中的cygwin下安装mahout,windows-7,hadoop,cygwin,mapreduce,mahout,Windows 7,Hadoop,Cygwin,Mapreduce,Mahout,我已经成功地在Windows7Pro 64位的cygwin下安装了hadoop 现在我正在安装mahout,但我不能 设置MAHOUT_HOME和变量并在cygwin上运行MAHOUT后,我得到以下错误 我想这与cygwin和windows路径之间的兼容性问题有关,但我找不到应该更改哪个特定路径 Running on hadoop, using /cygdrive/c/hadoop/bin/hadoop and HADOOP_CONF_DIR= MAHOUT-JOB: /cygdrive/c/m
Running on hadoop, using /cygdrive/c/hadoop/bin/hadoop and HADOOP_CONF_DIR=
MAHOUT-JOB: /cygdrive/c/mahout/mahout-examples-0.7-job.jar
Exception in thread "main" java.io.IOException: Error opening job jar: /cygdrive /c/mahout/mahout-examples-0.7-job.jar
at org.apache.hadoop.util.RunJar.main(RunJar.java:90)
Caused by: java.io.FileNotFoundException: \cygdrive\c\mahout\mahout
examples-0.7
-job.jar (The system cannot find the path specified)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:214)
at java.util.zip.ZipFile.<init>(ZipFile.java:144)
at java.util.jar.JarFile.<init>(JarFile.java:152)
at java.util.jar.JarFile.<init>(JarFile.java:89)
at org.apache.hadoop.util.RunJar.main(RunJar.java:88)
可能/cygdrive/c/mahout/mahout-examples-0.7-job.jar应该是c:\mahout\mahout-examples-0.7-job.jar
MAHOUT_JOB=`cygpath -wp $MAHOUT_JOB
Java是一个Windows程序,因此不能识别特定路径中的Cygwin。So/cygdrive/c/foo/。。。对于java.exe是无用的。如果Java软件使用文件路径,则需要使用Cygwin附带的cygpath工具将其转换为Windows样式的路径名
cygpath将UNIX样式的路径作为参数,并返回Windows样式的路径。下面是一个例子:
$ cygpath -wp /cygdrive/c:/cygdrive/c/classes
c:\;c:\classes
因此,当调用Java程序时,比如从shell脚本中调用时,您需要像这样编写命令行:
java -classpath `cygpath -wp $CLASSPATH` [arguments]
参考资料:您找到解决问题的方法了吗?