Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse Can';由于java.lang.NoClassDefFoundError:org/slf4j/LoggerFactory错误,无法运行。/bin/mahout_Eclipse_Maven_Slf4j_Mahout - Fatal编程技术网

Eclipse Can';由于java.lang.NoClassDefFoundError:org/slf4j/LoggerFactory错误,无法运行。/bin/mahout

Eclipse Can';由于java.lang.NoClassDefFoundError:org/slf4j/LoggerFactory错误,无法运行。/bin/mahout,eclipse,maven,slf4j,mahout,Eclipse,Maven,Slf4j,Mahout,我尝试使用Mahout并使用lucene索引器从文本创建向量,如下所示: 但当我从cygwin中的mahout_主目录运行命令./bin/mahout时,我得到以下错误: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory at org.apache.mahout.driver.MahoutDriver.<clinit>(MahoutDriver.java:89) Caused by: java.lang.C

我尝试使用Mahout并使用lucene索引器从文本创建向量,如下所示:

但当我从cygwin中的mahout_主目录运行命令./bin/mahout时,我得到以下错误:

java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
        at org.apache.mahout.driver.MahoutDriver.<clinit>(MahoutDriver.java:89)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        ... 1 more
Exception in thread "main"
java.lang.NoClassDefFoundError:org/slf4j/LoggerFactory
位于org.apache.mahout.driver.MahoutDriver.(MahoutDriver.java:89)
原因:java.lang.ClassNotFoundException:org.slf4j.LoggerFactory
在java.net.URLClassLoader$1.run(URLClassLoader.java:366)
在java.net.URLClassLoader$1.run(URLClassLoader.java:355)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:354)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:423)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 还有一个
线程“main”中出现异常
我知道这是slf4j的一个依赖性问题,但我不知道该如何解决它

我已经使用“mvn安装”成功地构建了mahout,所有测试都可以正常工作,没有错误,而且我正在为我的项目(创建lucene索引器)使用EclipseIndigo(Maven内置特性)


有什么想法吗?

如果我正确理解了你的问题,我很抱歉

也许可以通过向您尝试使用MAHOUT的项目的pom.xml中添加以下依赖项来解决此问题:


org.slf4j

搜索。

如果我正确理解了您的问题,我深表歉意

也许可以通过向您尝试使用MAHOUT的项目的pom.xml中添加以下依赖项来解决此问题:


org.slf4j

搜索。

您正在运行一些Mahout类,但没有Mahout在类路径中依赖的第三方类。这里是slf4j日志外观。您可以将此项目中的JAR添加到类路径中。或者,您可以确保您运行的脚本为您设置了该脚本。或者,您可以使用Mahout与Maven一起构建的“.job”文件,该文件将生成一个包含所有依赖项的JAR文件。

您运行的Mahout类没有Mahout在类路径中依赖的第三方类。这里是slf4j日志外观。您可以将此项目中的JAR添加到类路径中。或者,您可以确保您运行的脚本为您设置了该脚本。或者,您可以使用Mahout与Maven一起构建的“.job”文件,该文件生成一个包含所有依赖项的JAR文件。

事实证明,我的问题是在Mahout 0.4中使用jdk 7。我把它改成jdk 6,之后一切都很好

事实证明,我的问题是在mahout 0.4中使用jdk 7。我把它改成jdk 6,之后一切都很好

不,正如您所期望的,它已经是项目的一个依赖项。否则整个项目将无法编译启动。您可以转储mvn dependency:tree的输出吗?另外,我想知道是否可以执行一个简单的测试:如果将sl4j.jar复制到JDK_HOME/jre/lib中会发生什么?我强烈怀疑是这种依赖。我不熟悉MAHOUT,但从我刚读到的内容来看,这个问题的根本原因总是类路径中缺少sl4j-api.jar。另外,还有一个建议:如果./bin/MAHOUT是一个可编辑脚本,那么在其中添加
echo$classpath
时会得到什么输出?另外,当在cygwin提示符中执行以下操作时会发生什么:
将CLASSPATH=/cygdrive/c/path_导出到_sl4j-api.jar
然后执行。/bin/mahout?当我在执行之前导出CLASSPATH时会发生这种情况。/bin/mahout:'SLF4J:未能加载类“org.SLF4J.impl.StaticLoggerBinder”。SLF4J:默认为无操作(NOP)记录器实现SLF4J:有关更多详细信息,请参阅。线程“main”java.lang.NoClassDefFoundError:org/apache/hadoop/util/ProgramDriver位于org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:95)中的异常由以下原因引起:java.lang.ClassNotFoundException:org.apache.hadoop.util.ProgramDriver…'@zghaf,如果您还可以尝试我上面提到的其他建议(将JAR复制到JDK_HOME/jre/lib,在/bin/mahout中添加
echo
语句(如果后者是可编辑脚本),最后在/bin/mahout脚本中设置类路径),那就太好了如果可能的话,您可以发布脚本的相关部分吗?不,正如您所期望的,它已经是项目的依赖项。否则整个项目将无法编译启动。您可以转储mvn dependency:tree的输出吗?另外,我想知道是否可以执行一个简单的测试:如果将sl4j.jar复制到JDK_HOME/jre/lib中会发生什么?我强烈怀疑是这种依赖。我不熟悉MAHOUT,但从我刚读到的内容来看,这个问题的根本原因总是类路径中缺少sl4j-api.jar。另外,还有一个建议:如果./bin/MAHOUT是一个可编辑脚本,那么在其中添加
echo$classpath
时会得到什么输出?另外,当在cygwin提示符中执行以下操作时会发生什么:
将CLASSPATH=/cygdrive/c/path_导出到_sl4j-api.jar
然后执行。/bin/mahout?当我在执行之前导出CLASSPATH时会发生这种情况。/bin/mahout:'SLF4J:未能加载类“org.SLF4J.impl.StaticLoggerBinder”。SLF4J:默认为无操作(NOP)记录器实现SLF4J:有关更多详细信息,请参阅。线程“main”java.lang.NoClassDefFoundError:org/apache/hadoop/util/ProgramDriver位于org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:95)中的异常由以下原因引起:java.lang.ClassNotFoundException:org.apache.hadoop.util.ProgramDriver…'@zghaf,如果您还可以尝试我上面提到的其他建议(将JAR复制到JDK_HOME/jre/lib,在/bin/mahout I中添加
echo
语句),那就太好了