J'ai récupérer un projet la semaine dernière et impossible de le déployer sur tomcat.
Lorsque j'essaie de démarrer le war sous tomcat l'erreur suivante apparait:
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public javax.sql.DataSource com.****.project.config.DaoConfig.dataSource()] threw exception; nested exception is org.springframework.jdbc.datasource.lookup.DataSourceLookupFailureException: Failed to look up JNDI DataSource with name 'java:comp/env/jdbc/project'; nested exception is javax.naming.NameNotFoundException: Le Nom jdbc/project n'est pas lié à ce Contexte
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:188)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:581)
... 69 more
Caused by: org.springframework.jdbc.datasource.lookup.DataSourceLookupFailureException: Failed to look up JNDI DataSource with name 'java:comp/env/jdbc/project'; nested exception is javax.naming.NameNotFoundException: Le Nom jdbc/project n'est pas lié à ce Contexte
at org.springframework.jdbc.datasource.lookup.JndiDataSourceLookup.getDataSource(JndiDataSourceLookup.java:48)
at com.*****.project.config.DaoConfig.dataSource(DaoConfig.java:39)
at com.*****.project.config.DaoConfig$$EnhancerByCGLIB$$e2f88985.CGLIB$dataSource$3(<generated>)
at com.*****.project.config.DaoConfig$$EnhancerByCGLIB$$e2f88985$$FastClassByCGLIB$$52b3541f.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:326)
at com.*****.project.config.DaoConfig$$EnhancerByCGLIB$$e2f88985.dataSource(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:166)
... 70 more
Caused by: javax.naming.NameNotFoundException: Le Nom jdbc/project n'est pas lié à ce Contexte
at org.apache.naming.NamingContext.lookup(NamingContext.java:820)
at org.apache.naming.NamingContext.lookup(NamingContext.java:154)
at org.apache.naming.NamingContext.lookup(NamingContext.java:831)
at org.apache.naming.NamingContext.lookup(NamingContext.java:154)
at org.apache.naming.NamingContext.lookup(NamingContext.java:831)
at org.apache.naming.NamingContext.lookup(NamingContext.java:168)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:158)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:155)
at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:87)
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152)
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:179)
at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95)
at org.springframework.jdbc.datasource.lookup.JndiDataSourceLookup.getDataSource(JndiDataSourceLookup.java:45)
... 81 more
KX
Messages postés16753Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention25 novembre 20243 019 25 juil. 2016 à 17:50
Bonjour,
Tomcat n'est pas un Java EE donc faire de l'hibernate ça risque d'être un peu trop pour lui...
Essayes de déployer ton war sur un serveur Java EE (wildfly par exemple) ce serait déjà un début.
Ensuite il faudrait regarder le java:comp/env, parfois faut le mettre, d'autres fois non, il faudrait être sûr que le lien se fasse.
En fait je suis au boulot, impossible de changer d'environnement :/
Après un update maven l'erreur lié au jdbc a disparue. Je n'ai pas vraiment compris pourquoi, mais il s'agissait d'un mise à jour spring.framework dans le pom à priori. Maintenant il me dit clairement que c'est le java:comp/env qui pose problème:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'java:comp/env/mail/elisa' is defined: not found in JNDI environment
je vais essayer de voir ce que ça donne sans.
Merci encore de ta réponse.
26 juil. 2016 à 08:56
En fait je suis au boulot, impossible de changer d'environnement :/
Après un update maven l'erreur lié au jdbc a disparue. Je n'ai pas vraiment compris pourquoi, mais il s'agissait d'un mise à jour spring.framework dans le pom à priori. Maintenant il me dit clairement que c'est le java:comp/env qui pose problème:
je vais essayer de voir ce que ça donne sans.
Merci encore de ta réponse.