Article View: pl.comp.lang.java
Article #153339[lame] Błąd ExceptionInInitializerError(ex);
From: Smok
Date: Fri, 09 Mar 2012 09:27
Date: Fri, 09 Mar 2012 09:27
74 lines
3703 bytes
3703 bytes
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();
}
}
Technical Details
Message-ID:
<4400257.408.1331285255509.JavaMail.geo-discussion-forums@ynnk21>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail From: Smok <ismoczkiewicz@gmail.com> Newsgroups: pl.comp.lang.java Subject: [lame] Błąd ExceptionInInitializerError(ex); Date: Fri, 9 Mar 2012 01:27:35 -0800 (PST) Organization: http://groups.google.com Lines: 83 Message-ID: <4400257.408.1331285255509.JavaMail.geo-discussion-forums@ynnk21> NNTP-Posting-Host: 193.105.35.134 Mime-Version: 1.0 X-Trace: posting.google.com 1331285370 15371 127.0.0.1 (9 Mar 2012 09:29:30 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 9 Mar 2012 09:29:30 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=193.105.35.134; posting-account=241vYgoAAABW8iK7fLOh48qgj_-mBRkN User-Agent: G2/1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit