Java 如何追溯这个编译错误?

Java 如何追溯这个编译错误?,java,eclipse,mahout,Java,Eclipse,Mahout,我从书中的一个例子开始学习使用mahout。但是,eclipse编译器给了我以下消息: > Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory at org.apache.mahout.cf.taste.impl.model.file.FileDataModel.<clinit>(FileDataModel.java:119) at mia.reco

我从书中的一个例子开始学习使用mahout。但是,eclipse编译器给了我以下消息:

> Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
    at org.apache.mahout.cf.taste.impl.model.file.FileDataModel.<clinit>(FileDataModel.java:119)
    at mia.recommender.ch02.RecommenderIntro.main(RecommenderIntro.java:18)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    ... 2 more
>线程“main”java.lang.NoClassDefFoundError中的异常:org/slf4j/LoggerFactory
位于org.apache.mahout.cf.taste.impl.model.file.FileDataModel.(FileDataModel.java:119)
在mia.recommender.ch02.recommendertro.main(recommendertro.java:18)上
原因:java.lang.ClassNotFoundException:org.slf4j.LoggerFactory
位于java.net.URLClassLoader$1.run(URLClassLoader.java:202)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:190)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:307)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 还有两个
在我看来,问题来自FileDataModel.java,它属于这个库本身。如何追溯或分析此错误

示例代码如下所示,这正是从书中复制的代码。引起故障的线路是

DataModel model = new FileDataModel(new File("intro.csv")); 


import org.apache.mahout.cf.taste.impl.model.file.*;
import org.apache.mahout.cf.taste.impl.neighborhood.*;
import org.apache.mahout.cf.taste.impl.recommender.*;
import org.apache.mahout.cf.taste.impl.similarity.*;
import org.apache.mahout.cf.taste.model.*;
import org.apache.mahout.cf.taste.neighborhood.*;
import org.apache.mahout.cf.taste.recommender.*;
import org.apache.mahout.cf.taste.similarity.*;
import java.io.*;
import java.util.*;
class RecommenderIntro {
  public static void main(String[] args) throws Exception {


    DataModel model = new FileDataModel(new File("intro.csv")); 
    UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
    UserNeighborhood neighborhood =
      new NearestNUserNeighborhood(2, similarity, model);
    Recommender recommender = new GenericUserBasedRecommender(
        model, neighborhood, similarity); 
    List<RecommendedItem> recommendations =
        recommender.recommend(1, 1); 
    for (RecommendedItem recommendation : recommendations) {
      System.out.println(recommendation);
    }
  }
}
DataModel=newfiledatamodel(新文件(“intro.csv”);
导入org.apache.mahout.cf.taste.impl.model.file.*;
导入org.apache.mahout.cf.taste.impl.neighbor.*;
导入org.apache.mahout.cf.taste.impl.recommender.*;
导入org.apache.mahout.cf.taste.impl.similarity.*;
导入org.apache.mahout.cf.taste.model.*;
导入org.apache.mahout.cf.taste.neighborary.*;
导入org.apache.mahout.cf.taste.recommender.*;
导入org.apache.mahout.cf.taste.similarity.*;
导入java.io.*;
导入java.util.*;
类推荐程序{
公共静态void main(字符串[]args)引发异常{
DataModel=newfiledatamodel(新文件(“intro.csv”);
用户相似性=新PearsonCorrelationSimilarity(模型);
用户邻居=
新的近邻(2,相似性,模型);
Recommender Recommender=新的GenericUserBasedRecommender(
模型、邻域、相似性);
列出建议=
推荐人。推荐(1,1);
对于(建议编辑EM建议:建议){
System.out.println(推荐);
}
}
}

类路径:SLF4J-api.jar上似乎没有安装SLF4J依赖项


请参阅:

这与Mahout没有任何关系。您的程序没有它使用的所有LIB。