# [Hibernate] java.lang.NoClassDefFoundError



## vollkorn (14. Aug 2007)

Ich bekomme mein Hibernate nicht ans laufen =( Irgendwie häufen sich hier die Probleme!



Für diesen Quellcode bekomme ich immer die unten aufgeführten Fehler entgegengeworfen. Ich hab schon gegoogelt, aber entwerder ist der Fehler so einfach das den niemand hat oder ich hab mal wieder was übersehen.

```
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.sql.*;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import java.lang.InstantiationException;

/**
 *
 * @author vollkorn
 */
public class DataAccessLayer {
    
    private Connection conn;
    private SessionFactory _sessionFactory;
    
    /** Creates a new instance of DataAccessLayer */
    public DataAccessLayer() {
    	
    	setUpHibernate();
    	    	
    }
    public void savePlayerToDB(badminton.datantypen.Spieler spieler){
    	
    	Session session = null;
    	Transaction transaction = null;
    	try{
    		session = _sessionFactory.openSession();
    		transaction = session.beginTransaction();
    		
    		session.save(spieler);
    		
    		transaction.commit();
    	}
    	catch(org.hibernate.HibernateException e)
    	{
    		if(transaction != null)
    			transaction.rollback();
 
    	}
    	finally{
    		if(session != null)
    			session.close();
    		
    		}
    	}
	
    private void setUpHibernate(){
    	
    	Configuration config = new Configuration().configure("../hibernate.cfg.xml");
    	SchemaExport export = new SchemaExport(config);
    	
    	export.create(false, true);
    	_sessionFactory = config.buildSessionFactory();
    	
    
    }    

}
```

Fehler:


```
java.lang.NoClassDefFoundError: org/hibernate/HibernateException
	at org.apache.jsp.main_jsp._jspService(main_jsp.java:75)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)
```

Das config-File liegt direkt im source ordner. Hab die Hibernate3.jar im build-path angegeben und ebenfalls im Classpath eingebunden. Bitte um hilfe =)


----------



## Guest (15. Aug 2007)

Du muss es schon mit der Anwendung mit deployen. Soll heissen, mit in die WAR-Datei verpacken (WEB-INF/lib).
Die hibernate3.jar ist nicht das einzige, was nötig ist. Lese dazu die readme.txt von Hibernate (hibernate-3.x\lib\_README.txt )


----------



## vollkorn (15. Aug 2007)

Tach! Es geht immer noch nicht  Ich hab zwar jetzt die lib's eingebunden die in der Hibernate Anleitung aufgeführt sind, allerdings bekomme ich immer noch den gleichen fehler. Was mache ich falsch?


----------



## Czapie (15. Aug 2007)

Hallo,

jetzt hast du zwar die entsprechenden Libs in dein Eclipse-Projekt-Folder eingebunden, aber du musst auch sicherstellen, dass diese mit deployed werden. Müßte auch irgendwo in den Projekt-Optionen-> Build-Path oder so ähnlich -> Export o.Ä. zu finden sein. 

Oder wahlweise auf dem entsprechenden Server einbinden.

Viel Erfolg!


----------



## SlaterB (15. Aug 2007)

einbinden ist nicht alles, im WebServer muss die Lib dann auch vorhanden sein,
was ist das denn für ein Server?
bei Tomcat gibts common/lib


----------



## vollkorn (15. Aug 2007)

Nabend!
Okay habs jetzt geschafft das die libs eingebunden sind...wie? F5! Yeah. Naja das Katz und Maus Spiel ist noch nicht zu ende. Jetzt steh ich vor dem nächsten Problem.
Ich kann ehrlich gesagt nicht verstehen warum das so umständlich ist mit dem einbinden etc. unter NetBeans war das wesentlich lockerer. Naja...

Das nächste Problem:

```
20:29:53,484  INFO Configuration:553 - Reading mappings from resource : badminton/datantypen/Spieler.hbm.xml
20:29:53,484 DEBUG DTDEntityResolver:38 - trying to resolve system-id [[url]http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd][/url]
20:29:53,484 DEBUG DTDEntityResolver:40 - recognized hibernate namespace; attempting to resolve on classpath under org/hibernate/
20:29:53,484 DEBUG DTDEntityResolver:50 - located [[url]http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd][/url] in classpath
20:29:53,562  INFO HbmBinder:300 - Mapping class: badminton.datentypen.Spieler -> Spieler
15.08.2007 20:29:53 org.apache.catalina.core.StandardWrapperValve invoke
SCHWERWIEGEND: Servlet.service() for servlet jsp threw exception
java.lang.ClassNotFoundException: badminton.datentypen.Spieler
```

Er findet die Spieler klasse einfach nicht! Sorry für die Fragen, aber ich hab noch kein Peil davon und das Buch das ich habe ist total fürn Hintern was das angelangt. Ich hab übrigens das: klick mich falls es jemand interessiert. Grüße


----------



## vollkorn (16. Aug 2007)

Tach! Hab das Problem jetzt gelöst. Es waren diverse Schreibfehler und ein verstoß gegen die Bean-Spezifikation.


----------

