2012-07-25 73 views
0

我试图从https://cwiki.apache.org/confluence/display/MAHOUT/Wikipedia+Bayes+Example产生的原因:抛出java.lang.ClassNotFoundException:类路径

运行维基百科贝叶斯例子当我运行下面的命令:$ MAHOUT_HOME /斌/亨利马乌wikipediaXMLSplitter -d $ MAHOUT_HOME /例子/温度/ -c 64

我收到此错误enwiki-最新的页面,articles10.xml -o维基百科/块:

Exception in thread "main" java.lang.NoClassDefFoundError: classpath 
Caused by: java.lang.ClassNotFoundException: classpath 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:323) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:268) 
     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336) 
Running on hadoop, using /x/.../bin/hadoop and HADOOP_CONF_DIR= 
MAHOUT-JOB: /x/.../mahout-distribution-0.7/mahout-examples-0.7-job.jar 
12/07/25 11:22:06 WARN driver.MahoutDriver: Unable to add class: wikipediaXMLSplitter 
12/07/25 11:22:06 WARN driver.MahoutDriver: No wikipediaXMLSplitter.props found on classpath, will use command-line arguments only 
Unknown program 'wikipediaXMLSplitter' chosen. 

回答

0

我遇到了同样的问题,它是由在斌/ Mahout中的代码引起的(仅在0.7版本中):

if [ -x "$HADOOP_BINARY" ] ; then 
    HADOOP_BINARY_CLASSPATH=$("$HADOOP_BINARY" classpath) 
fi 

它会执行hadoop classpath并导致错误。也许hadoop的版本对mahout 0.7来说太旧了。 无论如何,我评论这三条线,它工作正常。

0

也许你应该使用:

mahout -core ... ... 

这应该工作

0

我碰到了同样的问题。它通过指定org.apache.mahout.text.wikipedia.WikipediaXmlSplitter来解决[请注意不同的大小写]

$ MAHOUT_HOME/bin/mahout org.apache.mahout.text.wikipedia.WikipediaXmlSplitter -d $ MAHOUT_HOME/examples /tmp/enwiki-latest-pages-articles.xml -o wikipedia/chunks

相关问题