javax.de nommage.NamingException: impossible de créer la ressource usine instance

Tout d'abord, je ne suis pas un développeur Java. J'ai juste besoin d'une simple exemples de jsp qui se connecte à une base de données postgres et de récupérer quelques informations.

Je l'ai eu en cours d'exécution sur un local env, mais lorsque j'essaie d'exécuter sur le serveur de production ( Apache Tomcat 6.0.29 ), il ne fonctionne tout simplement pas. Page affiche l'exception suivante:

org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver found for jdbc/postgres"
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

J'ai remarqué que lorsque je recharge la demande, catalina.les spectacles le problème suivant:

Aug 23, 2011 2:21:07 PM org.apache.catalina.core.NamingContextListener addResource
WARNING: Failed to register in JMX: javax.naming.NamingException: Could not create resource factory instance [Root exception is java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory]

Dans WEB-INF/lib, j'ai les fichiers suivants:

# ls -lh
total 1.3M
-rwxr-xr-x 1 tomcat tomcat  17K Aug 23 14:15 jstl.jar
-rwxr-xr-x 1 tomcat tomcat 160K Mar  5  2007 naming-factory-dbcp.jar
-rwxr-xr-x 1 tomcat tomcat 528K Aug 23 14:18 postgresql-9.0-801.jdbc4.jar
-rwxr-xr-x 1 tomcat tomcat 313K Aug 23 14:16 standard.jar
-rwxr-xr-x 1 tomcat tomcat 248K Aug 22 22:18 tomcat-dbcp.jar

J'ai essayé de googler à ce sujet, mais toutes les solutions mention naming-factory-dbcp.jar qui est déjà là. Toutes les idées de ce que je dois faire?

Merci!

MODIFIER

Voici ma lib de tomcat:

-rw-r--r-- 1 tomcat nobody  11K Jun  8  2009 lib/annotations-api.jar
-rw-r--r-- 1 tomcat nobody  49K Jun  8  2009 lib/catalina-ant.jar
-rw-r--r-- 1 tomcat nobody 121K Jun  8  2009 lib/catalina-ha.jar
-rw-r--r-- 1 tomcat nobody 1.1M Jun  8  2009 lib/catalina.jar
-rw-r--r-- 1 tomcat nobody 225K Jun  8  2009 lib/catalina-tribes.jar
-rw-r--r-- 1 tomcat nobody  28K Jun  8  2009 lib/el-api.jar
-rw-r--r-- 1 tomcat nobody 101K Jun  8  2009 lib/jasper-el.jar
-rw-r--r-- 1 tomcat nobody 501K Jun  8  2009 lib/jasper.jar
-rw-r--r-- 1 tomcat nobody 1.4M Jun  8  2009 lib/jasper-jdt.jar
-rw-r--r-- 1 tomcat nobody  75K Jun  8  2009 lib/jsp-api.jar
-rw-r--r-- 1 tomcat nobody  86K Jun  8  2009 lib/servlet-api.jar
-rw-r--r-- 1 tomcat nobody 732K Jun  8  2009 lib/tomcat-coyote.jar
-rw-r--r-- 1 tomcat nobody 193K Jun  8  2009 lib/tomcat-dbcp.jar
-rw-r--r-- 1 tomcat nobody  65K Jun  8  2009 lib/tomcat-i18n-es.jar
-rw-r--r-- 1 tomcat nobody  43K Jun  8  2009 lib/tomcat-i18n-fr.jar
-rw-r--r-- 1 tomcat nobody  48K Jun  8  2009 lib/tomcat-i18n-ja.jar
  • Vous risquez de ne pas initialiser le pilote jdbc/postgres pilote d'une manière correcte. Veuillez vérifier la syntaxe et de vérifier si les bibliothèques requises sont chargés dans le classpath du projet. La bonne façon de le faire est jdbc:postgresql://server_name
  • Amende que vous avez inclus la liste des Tomcat/lib. Mais le point clé comme répondu par la maison, c'est que vous devez jamais serveur des bibliothèques spécifiques dans webapp est /WEB-INF/lib. Il fait de la webapp portables aux serveurs de différentes/version. Il va entraîner dans le classpath ennuis. Avez-vous les retirez de /WEB-INF/lib? Le Tomcat/lib dossier doit être conservé intact. En plus, vous déposez le pilote JDBC de là, mais à ne certainement pas les modifier ou les supprimer de Tomcat propres bibliothèques.
  • Salut, il semble correct. La même application fonctionne sur mon ordinateur hôte local, mais pas sur le serveur de production.
  • Yep, juste enlevé naming-factory-dbcp.jar et tomcat-dbcp.jar à partir de mon application lib. Mais j'obtiens toujours la même erreur.
InformationsquelleAutor Fernando | 2011-08-23