i am not able to run my data analysis servlet. i get always this error:
> 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)
It seems to be a classpath problem, but i added the JAR file weka.jar in the build path and its in the WEB-INF/lib folder of my servlet project.
The Predictor class contains this code:
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));
}
}
My System is an Eclipse IDE with a integrated Tomcat7 with OS Ubuntu 14.04
If i run this java file as an java project it seems to work. What i am doing wrong? Thanks for your help!
I think your library is missing(weka.core.Attribute). Right click on your project --- > Deployment Assembly --> Add --> Archive from file system (if your using external jar file). Once you added clean your project and rerun it.