[Java lista] Eclipse EJB + JPA

Peter Olaj Peter.Olaj at amkai.com
2010. Aug. 11., Sze, 09:15:20 CEST


Szia!

Az AS: GlassFish v3 (build 74.2)
Semmelyik fájlt sem pakolgattam, minden úgy van, ahogy az Eclipse generálja. Az Enterprise project-nél a Library Directory a lib és azt mutatja, hogy benne van a jpa.jar.
A META-INF csupa nagybetűvel van.
Megnéztem azt, amit deploy-ol a Glassfishnek és abba nem a jpa.jar kerül a lib-be, hanem egy jpa.jar nevű könyvtár és abba vannak a class-ok. Persze működhet így is, csak kérdés, hogy jó-e így neki.

Peti

-----Eredeti üzenet-----
Feladó: javalist-bounces at javagrund.hu [mailto:javalist-bounces at javagrund.hu] Meghatalmazó István Viczián
Küldve: 2010. augusztus 10. 23:50
Címzett: javalist at javagrund.hu
Tárgy: Re: [Java lista] Eclipse EJB + JPA

Üdv,

Egyrészt hova kerül a JPA.jar?
A következőket próbálgathatod:
- Az application.xml-be felveszed EJB modulként a JPA JAR-t is. Ez JBoss trükk.
- A JPA JAR-t beleteszed a classpath-ba, azaz az EAR-on belül a lib
könyvtárba, vagy akárhova, de akkor legyen beleírva a
library-directory az application.xml-be. Ez a persistence archive.
Javasolt.
- Ami tuti, hogy megy, hogy a persistence.xml az EJB JAR-ba megy, és
ott meg kell adni, hogy jar-file tag-gel a jpa jar-odat. Ekkor nem
szép, hogy külön van az xml és a class-ok.

A persistence.xml-ed a META-INF-be legyen. Gyakori hiba, hogy
kisbetűkkel van ez a könyvtár.

Ha nem megy, kell, hogy milyen file hol van, és az app. szervered
pontos verziószáma.

Viczi

2010/8/10 Peter Olaj <Peter.Olaj at amkai.com>:
> Sziasztok!
>
> Van egy Eclipse workspace-em, benne egy Enterprise project. Alatta van külön egy EJB, egy JPA és egy WEB project. A JPA project-ben megvan a persistence.xml (1 unit van benne) és itt van egy ősosztály, amiben deklarálva van az
>
> @PersistenceContext
> protected EntityManager em;
>
> Ebből az ősosztályból származnak az EJB projectbeli Session Bean-ek.
>
> Viszont valamiért nem akarja összepárosítani a unit-ot a context-el. Úgy sem, hogy megadom a unitName-ben a nevét.
> Mit hagytam le és hol???
>
> Caused by: java.lang.RuntimeException: Could not resolve a persistence unit corresponding to the persistence-context-ref-name [com.amkai.jpa.PersistenceManager/em] in the scope of the module called [enterprise1#ejbproject1.jar]. Please verify your application.
>        at com.sun.enterprise.deployment.BundleDescriptor.findReferencedPUsViaPCRefs(BundleDescriptor.java:679)
>        at com.sun.enterprise.deployment.EjbBundleDescriptor.findReferencedPUs(EjbBundleDescriptor.java:892)
>        at org.glassfish.persistence.jpa.JPADeployer.prepare(JPADeployer.java:103)
>        at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:644)
>        at org.glassfish.javaee.full.deployment.EarDeployer.prepareBundle(EarDeployer.java:269)
>        at org.glassfish.javaee.full.deployment.EarDeployer.access$200(EarDeployer.java:79)
>        at org.glassfish.javaee.full.deployment.EarDeployer$1.doBundle(EarDeployer.java:131)
>        at org.glassfish.javaee.full.deployment.EarDeployer$1.doBundle(EarDeployer.java:129)
>        at org.glassfish.javaee.full.deployment.EarDeployer.doOnBundles(EarDeployer.java:197)
>        at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllTypedBundles(EarDeployer.java:206)
>        at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllBundles(EarDeployer.java:235)
>        at org.glassfish.javaee.full.deployment.EarDeployer.prepare(EarDeployer.java:129)
>
> Péter
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
_______________________________________________
Javalist mailing list
Javalist at javagrund.hu
http://javagrund.hu/mailman/listinfo/javalist


További információk a(z) Javalist levelezőlistáról