Eclipse 4 RCP Hibernate Problem

Dieses Thema Eclipse 4 RCP Hibernate Problem im Forum "Data Tier" wurde erstellt von mendias, 7. März 2014.

Thema: Eclipse 4 RCP Hibernate Problem Hallo zusammen, ich versuche mich gerade in Eclipse 4 RCP und Hibernate einzuarbeiten und stoße auf folgendes...

  1. Hallo zusammen,
    ich versuche mich gerade in Eclipse 4 RCP und Hibernate einzuarbeiten und stoße auf folgendes Problem:
    Ich habe ein PluginProjekt welches alle notwendigen .jars für Hibernate 3.6.4 enthält.
    Ein weiteres Plugin enthält den Datenbankzugriff mittels Hibernate.
    Das letzte Projekt enthält die e4 Application mit einer kleinen GUI.

    Wenn ich direkt vom Hibernateplugin etwas in die DB (Postgresql 9.2) speichern oder laden will, funktioniert das wunderbar. Wenn ich allerdings vom e4 Projekt mittels einem Button was speichern will bekomme ich folgenden Fehler. Die e4 Application hat Abhängigkeiten zum jar Plugin und zum Hibernate Plugin. Das Hibernate Plugin hat Abhängigkeiten vom Jar Plugin.

    Code (Java):

    java.version=1.7.0_21
    java.vendor=Oracle Corporation
    BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
    Framework arguments:  -product puppet-view.product -clearPersistedState
    Command-line arguments:  -product puppet-view.product -data /Users/gerald/Documents/DiplProjekt/../runtime-puppet-view.product -dev file:/Users/gerald/Documents/DiplProjekt/.metadata/.plugins/org.eclipse.pde.core/puppet-view.product/dev.properties -os macosx -ws cocoa -arch x86_64 -consoleLog -clearPersistedState

    !ENTRY org.eclipse.e4.ui.workbench 4 0 2014-03-07 15:11:26.162
    !MESSAGE Internal Error
    !STACK 0
    org.hibernate.MappingException: Unable to load class [ at.ppm.puppet.dal.hibpojos.Node] declared in Hibernate configuration <mapping/> entry
        at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2369)
        at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2310)
        at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2290)
        at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:242)
        at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:71)
        at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2243)
        at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:230)
        at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:71)
        at org.hibernate.cfg.Configuration.configure(Configuration.java:2216)
        at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:224)
        at at.ppm.puppet.dal.utils.HibernateSession.getInstance(HibernateSession.java:43)
        at at.ppm.puppet.dal.NodeRepositoryImpl.save(NodeRepositoryImpl.java:29)
        at at.ppm.puppet.view.NodesView$3.widgetSelected(NodesView.java:116)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4166)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1489)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1474)
        at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1279)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4012)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3651)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
        at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
        at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:162)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
    Caused by: java.lang.ClassNotFoundException: at.ppm.puppet.dal.hibpojos.Node cannot be found by hibernate_1.0.0
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:188)
        at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:192)
        at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2366)
        ... 39 more
     
    Wie gesagt es sind meine ersten Schritte in diese Richtung, bin über jeden Tipp dankbar.
    LG, m
     
  2. Vielleicht helfen dir diese Java-Grundlagen weiter --> *Klick*
  3. Das Problem hat scheinbar weder was mit Eclipse nich mit Hibernate zu tun,
    sondern entweder der Name oder die package-Angabe der Klasse

    at.ppm.puppet.dal.hibpojos.Node

    sind falsch oder diese Klasse wird aus einem Jar-File erwartet,
    welches nicht in Deinem classpath ist.

    Also durchatmen und alles penibel Zeichen für Zeichen prüfen.
     
  4. Nein.

    Jedes plugin hat seinen eigenen classloader du versuchst in einem anderen Plugin Klassen zu laden, dann musst du diese Plugins zusätzlich als buddys registrieren.
     
  5. Vielen Dank!
    Das war die Lösung meines Problems.
    :applaus:
     
    Zuletzt bearbeitet: 8. März 2014
  6. KOSTENLOSES Java-Grundlagen Training im Wert von 39 € Sichere dir hier den kostenlosen Zugriff auf umfangreiches Java-Know How und starte richtig durch!