Bonjour, j'ai un problème étrange avec Weblogic 10.
J'ai un projet Spring + JPA + Hibernate. Je peux faire tourner mon projet sous tomcat sans problème, tout fonctionne parfaitement.
Mais je dois le faire tourner sous weblogic 10.
Lorsque je déploie mon ear (qui contient juste un war et le fichier application.xml), j'ai une erreur de type ClassNotFoundException correpondant aux entité JPA de mon application :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
java.lang.ClassNotFoundException: fr.monentreprise.monprojet.MonEntite1
Mon fichier persistence.xml liste pourtant bien l'ensemble de mes entités.

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
 
<persistence-unit name="jpa" transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
 
		<class>fr.monentreprise.monprojet.MonEntite1</class>
		<class>fr.monentreprise.monprojet.MonEntite2</class>
		<exclude-unlisted-classes>true</exclude-unlisted-classes>
		<properties>
			<property
				name="hibernate.cache.provider_class"
				value="net.sf.ehcache.hibernate.SingletonEhCacheProvider"/>
			<property
				name="hibernate.cache.use_query_cache"
				value="true"/>
			<property
				name="hibernate.cache.use_second_level_cache"
				value="true"/>
			<property
				name="hibernate.dialect"
				value="org.hibernate.dialect.Oracle9iDialect"/>
			<property
				name="hibernate.hbm2ddl.auto"
				value="update"/>
		</properties>
    </persistence-unit>
Mes classes entités se trouvent dans le war sous WEB-INF/classes...
Bizarrement, au moment du déploiement, le serveur liste bien toutes entités qu'il trouve.
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
 
PersistenceUnitInfo [
        name: jpa
        persistence provider classname: org.hibernate.ejb.
        classloader: weblogic.utils.classloaders.ChangeAwa
inder: weblogic.utils.classloaders.CodeGenClassFinder@6f78@monProjet
        Temporary classloader: weblogic.utils.classloaders
2bf4 finder: weblogic.utils.classloaders.CodeGenClassFinde
        excludeUnlistedClasses: true
        JTA datasource: null
        Non JTA datasource: null
        Transaction type: RESOURCE_LOCAL
        PU root URL: file:C:/bea/wlserver_10.0/samples/dom
/examplesServer/tmp/_WL_user/MON_PROJET/l29z99/war/WEB-INF
        Jar files URLs []
        Managed classes names [
fr.monentreprise.monprojet.MonEntite1
fr.monentreprise.monprojet.MonEntite2
              ]
        Mapping files names []
        Properties [
                hibernate.cache.provider_class: net.sf.ehc
onEhCacheProvider
                hibernate.dialect: org.hibernate.dialect.O
                hibernate.cache.use_second_level_cache: tr
                hibernate.cache.use_query_cache: true
                hibernate.hbm2ddl.auto: update]
Mais quelques lignes plus tard, j'ai mon erreur de classe non trouvée pour les mêmes classes ...

Si quelqu'un avait une piste je lui en serais extrêmement reconnaissant

Edit : chose bizarre : avec le plugin eclipse oracle pour intégrer weblogic à eclipse, tout fonctionne bien. Je peux donc faire tourner mon application en mode développement. Pourtant quand je regarde l'ear généré par eclipse, il a la même structure que le mien...

Par contre des que je déploie un vrai ear sur weblogic, rien ne va plus...