No tak jsem pokročil o kus dál. Přidal jsem modul Toplink-essentials z Libraries a ne jako "Library Wrapper Module Project". Proto nemohl najít persistence.xml a rozpoznat persistence unit.

Teď mám pro změnu další chybu, kdy už našel persistence.xml, ale asi ho nemůže parsovat. pak dále:

Local Exception Stack:
Exception [TOPLINK-7189] (Oracle TopLink Essentials - 2006.4 (Build 060412)): oracle.toplink.essentials.exceptions.ValidationException
Exception Description: Cannot create temp classloader from current loader:

celá chyba:

INFO [org.netbeans.ProxyClassLoader]
java.lang.IllegalStateException: You are trying to access file: persistence_1_0.xsd from the default package. Please see http://www.netbeans.org/download/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/classpath.html#default_package at org.netbeans.ProxyClassLoader.printDefaultPackageWarning(ProxyClassLoader.java:477) at org.netbeans.ProxyClassLoader.getResource(ProxyClassLoader.java:231) at oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.processPersistenceXML(PersistenceUnitProcessor.java:187) at oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.processJarFile(PersistenceUnitProcessor.java:122) at oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.processPersistenceArchive(PersistenceUnitProcessor.java:148) at oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.getPersistenceUnits(PersistenceUnitProcessor.java:70) at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initPersistenceUnits(JavaSECMPInitializer.java:305) at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initialize(JavaSECMPInitializer.java:335) at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initializeFromMain(JavaSECMPInitializer.java:372) at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.getJavaSECMPInitializer(JavaSECMPInitializer.java:83) at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.getServerSession(EntityManagerFactoryProvider.java:283) at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createEntityManagerFactory(EntityManagerFactoryProvider.java:125) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60) at cz.hany.golftournament.PersonViewTopComponent.jButton1ActionPerformed(PersonViewTopComponent.java:72) at cz.hany.golftournament.PersonViewTopComponent.access$000(PersonViewTopComponent.java:16) at cz.hany.golftournament.PersonViewTopComponent$1.actionPerformed(PersonViewTopComponent.java:46) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:377) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:232) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
       at java.awt.Component.processMouseEvent(Component.java:5999)
       at javax.swing.JComponent.processMouseEvent(JComponent.java:3240)
       at java.awt.Component.processEvent(Component.java:5764)
       at java.awt.Container.processEvent(Container.java:1984)
       at java.awt.Component.dispatchEventImpl(Component.java:4407)
       at java.awt.Container.dispatchEventImpl(Container.java:2042)
       at java.awt.Component.dispatchEvent(Component.java:4237)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4248) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3912)
       at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3842)
       at java.awt.Container.dispatchEventImpl(Container.java:2028)
       at java.awt.Window.dispatchEventImpl(Window.java:2405)
       at java.awt.Component.dispatchEvent(Component.java:4237)
       at java.awt.EventQueue.dispatchEvent(EventQueue.java:600)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
       at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Warning: use of system property netbeans.home in org.netbeans.lib.uihandler.LogFormatter has been obsoleted in favor of InstalledFileLocator
SEVERE [global]
Local Exception Stack:
Exception [TOPLINK-7189] (Oracle TopLink Essentials - 2006.4 (Build 060412)): oracle.toplink.essentials.exceptions.ValidationException Exception Description: Cannot create temp classloader from current loader: [SystemClassLoader[org.openide.util,org.openide.modules,org.openide.options,com.mysql.jdbc,org.openide.awt,org.netbeans.api.progress,org.openide.dialogs,org.openide.nodes,org.openide.explorer,org.openide.filesystems,org.netbeans.lib.uihandler,org.openide.windows,org.netbeans.modules.editor.mimelookup,org.openide.text,org.openide.actions,org.netbeans.bootstrap,org.netbeans.core.startup,org.netbeans.modules.autoupdate.services,org.netbeans.modules.queries,org.openide.loaders,org.netbeans.modules.options.api,org.netbeans.swing.plaf,org.netbeans.core,org.netbeans.modules.autoupdate,org.jdesktop.layout,org.netbeans.modules.uihandler,javax.mail,org.netbeans.core.ui,org.netbeans.modules.settings,org.netbeans.swing.tabcontrol,org.netbeans.core.windows,org.netbeans.upgrader,org.netbeans.modules.options.keymap,org.netbeans.modules.updatecenters,org.netbeans.modules.autoupdate.ui,org.netbeans.modules.j2ee.toplinklib,org.netbeans.modules.masterfs,javax.el,toplink.essentials,org.netbeans.modules.editor.mimelookup.impl,org.netbeans.modules.progress.ui,cz.hany.golftournament]] at oracle.toplink.essentials.exceptions.ValidationException.currentLoaderNotValid(ValidationException.java:1865) at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.createTempLoader(JavaSECMPInitializer.java:221) at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.createTempLoader(JavaSECMPInitializer.java:210) at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.callPredeploy(JavaSECMPInitializer.java:129) at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initPersistenceUnits(JavaSECMPInitializer.java:309) at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initialize(JavaSECMPInitializer.java:335) at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initializeFromMain(JavaSECMPInitializer.java:372) at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.getJavaSECMPInitializer(JavaSECMPInitializer.java:83) at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.getServerSession(EntityManagerFactoryProvider.java:283) at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createEntityManagerFactory(EntityManagerFactoryProvider.java:125) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60) at cz.hany.golftournament.PersonViewTopComponent.jButton1ActionPerformed(PersonViewTopComponent.java:72) at cz.hany.golftournament.PersonViewTopComponent.access$000(PersonViewTopComponent.java:16) at cz.hany.golftournament.PersonViewTopComponent$1.actionPerformed(PersonViewTopComponent.java:46) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:377) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:232) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
       at java.awt.Component.processMouseEvent(Component.java:5999)
       at javax.swing.JComponent.processMouseEvent(JComponent.java:3240)
       at java.awt.Component.processEvent(Component.java:5764)
       at java.awt.Container.processEvent(Container.java:1984)
       at java.awt.Component.dispatchEventImpl(Component.java:4407)
       at java.awt.Container.dispatchEventImpl(Container.java:2042)
       at java.awt.Component.dispatchEvent(Component.java:4237)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4248) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3912)
       at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3842)
       at java.awt.Container.dispatchEventImpl(Container.java:2028)
       at java.awt.Window.dispatchEventImpl(Window.java:2405)
       at java.awt.Component.dispatchEvent(Component.java:4237)
       at java.awt.EventQueue.dispatchEvent(EventQueue.java:600)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
       at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)


Jan Karhánek napsal(a):
Ahoj,

nemáte někdo prosím zkušenost s vytvářením modulu pro platformu netbeans, tak aby modul podporoval java persistence např. Toplink.? Nemohu najít žádný tutoriál pro NB5.5 či NB6 :(

Pro použití persistence v aplikaci J2SE jsem něco našel a to bez problémů funguje, na všechno jsou v aplikaci přístupní průvodci, ale při vývoji modulu NB6 průvodci nejsou přístupní ani nic z "persistence" (entity class, persistence unit...). Okopíroval jsem do vytvořeného modulu META-INF a persistence.xml z J2SE aplikace, přidal knihovnu toplink, javaee.jar.

u každé anotace @Entity v entitních třídách je chybové hlášení že tento projekt neobsahuje persistence unit, v NB6 je sice hezký průvodce, který se snaží fixnout tu chybu vytvoření nové persistence unit, ale po stisku ok se nic neděje. Při stejném pokusu v J2SE aplikaci se persistence unit normálně vytvoří, ale NB6 modulu ne.

Při pokusu vytvořit:

private static EntityManagerFactory emf = Persistence.createEntityManagerFactory("persistenceunit");

dojde k exception. Asi evidentně v nastavení projektu není vše v pořádku a nemůže najít persistence unit:(

javax.persistence.PersistenceException: No Persistence provider for EntityManager named persistenceunit at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:89) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60) at cz.hany.golftournament.PersonViewTopComponent.<clinit>(PersonViewTopComponent.java:22)
Caused: java.lang.ExceptionInInitializerError
at cz.hany.golftournament.PersonViewTopComponent$ResolvableHelper.readResolve(PersonViewTopComponent.java:171)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:589)

Díky moc za pomoc. Hany


--
S pozdravem

Jan Karhánek, DiS.

ICQ: 152742301
Tel: +420 608 172 433
web: http://www.hany.info/


Odpovedet emailem