Hallo zusammen,
ich habe ein kleines Managementsystem geschrieben und möchte nun ein lauffähiges Programm daraus machen, das ohne JRE läuft. Dafür muss jedoch zunächst die .jar-Datei funktionieren. In dieser tritt ein Fehler auf, der in der IDE (IntelliJ) nicht auftritt.
Ich denke, es liegt daran, dass Hibernate die Konfigurationsdatei nicht findet. Diese befindet sich jedoch im Ressourcenordner und wird mit
geladen.
Vielen Dank im Voraus für eine schnelle Antwort.
ich habe ein kleines Managementsystem geschrieben und möchte nun ein lauffähiges Programm daraus machen, das ohne JRE läuft. Dafür muss jedoch zunächst die .jar-Datei funktionieren. In dieser tritt ein Fehler auf, der in der IDE (IntelliJ) nicht auftritt.
Code:
java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration
at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
at java.desktop/javax.swing.SwingWorker.get(SwingWorker.java:612)
at net.tim.Main$1.done(Main.java:24)
at java.desktop/javax.swing.SwingWorker$4.run(SwingWorker.java:749)
at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:847)
at java.desktop/sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:857)
at java.desktop/javax.swing.Timer.fireActionPerformed(Timer.java:311)
at java.desktop/javax.swing.Timer$DoPostEvent.run(Timer.java:243)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration
at net.tim.tsdb.DB_Manager.<init>(DB_Manager.java:14)
at net.tim.Main$1.doInBackground(Main.java:15)
at net.tim.Main$1.doInBackground(Main.java:12)
at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:305)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:342)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.ClassNotFoundException: org.hibernate.cfg.Configuration
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
... 9 more
Ich denke, es liegt daran, dass Hibernate die Konfigurationsdatei nicht findet. Diese befindet sich jedoch im Ressourcenordner und wird mit
Java:
configuration.configure(Objects.requireNonNull(getClass().getResource("/hibernate.cfg.xml")));
Vielen Dank im Voraus für eine schnelle Antwort.