Bonjour,
J'essaye désespérément de déployer un projet sous GFv3 par Eclipse.
Lorsque je crée un projet EJB qui contient également les classes de persistance, les librairies EclipseLink sont incluses dans mon EAR et tout fonctionne bien. J'ai cependant un petit soucis : je suis obligé de définir mes classes Entity dans mon persistence.xml (il me semblait que ce n'était pas nécessaire si on veut les lier à une persistance par défaut), mais passons.
Lorsque je crée un projet EJB pour mes EJB , et un projet "UP" pour mon unité de persistance (2 JAR différents), cette fois-ci les librairies EclipseLink ne sont pas incluses dans mon EAR (qui pèse alors 10 Ko au lieu de 4Mo). J'ai cherché un peu partout pour préciser d'inclure la librairie EclipseLink au projet, mais rien n'y fait.
Du coup, lorsque j'accède à mon EntityManager, j'ai une belle exception :
Quelqu'un aurait-il des incices à me proposer ? En vous remerciant bien par avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Caused by: java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory for unitName null at com.sun.enterprise.container.common.impl.EntityManagerWrapper.init(EntityManagerWrapper.java:121) at com.sun.enterprise.container.common.impl.EntityManagerWrapper._getDelegate(EntityManagerWrapper.java:162) at com.sun.enterprise.container.common.impl.EntityManagerWrapper.createNamedQuery(EntityManagerWrapper.java:521) at fr.compmany.tests.helloapp.session.HelloWorld.getAllMedecinsNames(HelloWorld.java:50) 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:597) at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052) at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124) at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5243) at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:615) at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:797) at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:567) at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:157) at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:139) at sun.reflect.GeneratedMethodAccessor477.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:858) at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:797) at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:367) at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5215) at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5203) at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:190) ... 29 more
PS : Je vous joins mon .EAR (sans leslibrairies EclipseLink) en pièce jointe à ce message. Supprimez l'extension .zip que j'ai dû rajouter pour que l'envoi soit accepté.
Partager