Problème Weblogic 10 + Hibernate
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:
1 2
|
java.lang.ClassNotFoundException: fr.monentreprise.monprojet.MonEntite1 |
Mon fichier persistence.xml liste pourtant bien l'ensemble de mes entités.
Code:
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:
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... :(