Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[lame] Błąd ExceptionInInitializerError(ex);

24 views
Skip to first unread message

Smok

unread,
Mar 9, 2012, 4:27:35 AM3/9/12
to
Cześć.
Posługując się informacjami ze strony http://magazynt3.pl/Bazy-danych-w-Javie/ próbuję zrobić prostą aplikację zapisującą dane w bazie. Niestety utknąłem na błędzie którego nie umiem rozwiązać. Jednocześnie w przykładzie, w klasie Run jest chyba błąd przy importach. Autorowi jak zgaduję chodziło o
import javax.persistence.*;
a nie jak jest napisane o
import presisntence.*;?
Wielkie dzięki za podpowiedzi
Smok.

Kod błędu:
Exception in thread "main" java.lang.ExceptionInInitializerError
at HibernateUtil.<clinit>(HibernateUtil.java:9)
at Run.main(Run.java:7)
Caused by: java.lang.NoClassDefFoundError: org/dom4j/DocumentException
at HibernateUtil.<clinit>(HibernateUtil.java:7)
... 1 more
Caused by: java.lang.ClassNotFoundException: org.dom4j.DocumentException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more

Kod klasy HibernateUtil:
import org.hibernate.*;
import org.hibernate.cfg.*;
public class HibernateUtil {
private static SessionFactory sessionFactory;
static {
try {
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
} catch (Throwable ex) {
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static void shutdown() {
getSessionFactory().close();
}
}


kod klasy Run:
import java.util.*;
import org.hibernate.*;

public class Run {
public static void main(String[] args) {
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
User newUser = new User ("Jan","Kowalski");
Computer newComputer = new Computer ("Dell","Inspiron D680", newUser);
tx.commit();
session.close();

session = HibernateUtil.getSessionFactory().openSession();
tx = session.beginTransaction();
List<Object[]> computersList = session.createQuery("FROM Computers c, Users u WHERE c.user = u.user_id").list();
System.out.println("Znaleziono " + computersList.size() + "komputerów");

for (Object[] cl : computersList) {
Computer c = (Computer)cl[0];
User u = (User)cl[1];
System.out.println("Producent: " + c.getVendor() + ", Model: " + c.getModel() + ", Użytkownik: " + u.getName() + " " + u.getSurename() );
}
tx.commit();
session.close();
HibernateUtil.shutdown();
}
}

Tomasz Łabuz

unread,
Mar 9, 2012, 4:31:15 AM3/9/12
to
W dniu 2012-03-09 10:27, Smok pisze:
> Caused by: java.lang.NoClassDefFoundError: org/dom4j/DocumentException
> at HibernateUtil.<clinit>(HibernateUtil.java:7)
> ... 1 more
> Caused by: java.lang.ClassNotFoundException: org.dom4j.DocumentException


powyższe wydaje się być kluczowe :)
brakuje w classpath projektu stosownej biblioteki zawierającej wymaganą
klasę :)
0 new messages