我无法运行数据分析servlet。我总是得到这个错误:
> javax.servlet.ServletException: Servlet execution threw an exception
> root cause
>
> java.lang.NoClassDefFoundError: weka/core/Attribute
> de.project.prediction.Predictor.<init>(Predictor.java:34)
> de.project.tests.AbfrageZulassungsberechnung.doPost(AbfrageZulassungsberechnung.java:56)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
这似乎是一个类路径问题,但我在构建路径中添加了JAR文件weka.jar,并在我的servlet项目的WEB-INF / lib文件夹中添加了它。
Predictor类包含以下代码:
import java.util.ArrayList;
import weka.classifiers.Classifier;
import weka.core.Attribute;
public class Predictor {
private Formulardata formulardata = new Formulardata();
public double result = 0;
// Konstruktor
public Predictor() throws Exception{
ArrayList<Attribute> attribute = new ArrayList<Attribute>(29); // 29
ArrayList<String> land = new ArrayList<String>();
landHZB.add("fehlerhaft");
landHZB.add("Schleswig-Holstein");
landHZB.add("Hamburg");
landHZB.add("Niedersachsen");
landHZB.add("Bremen");
landHZB.add("Nordrhein-Westfalen");
landHZB.add("Hessen");
landHZB.add("Rheinland-Pfalz");
landHZB.add("Baden-Württemberg");
landHZB.add("Bayern");
landHZB.add("Saarland");
landHZB.add("Berlin");
landHZB.add("Brandeburg");
landHZB.add("Mecklenburg-Vorpommern");
landHZB.add("Sachsen");
landHZB.add("Sachsen-Anhalt");
landHZB.add("Thüringen");
attribute.add(new Attribute("Land", land));
}
}
我的系统是一个Eclipse IDE,带有集成的Tomcat7和OS Ubuntu 14.04
如果我将这个java文件作为一个java项目运行它似乎工作。我做错了什么? 谢谢你的帮助!
答案 0 :(得分:1)
我认为你的图书馆遗失了(weka.core.Attribute)。右键单击您的项目---&gt;部署组件 - &gt;添加 - &gt;从文件系统归档(如果使用外部jar文件)。添加完项目后,重新运行它。