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/