javax.naming.NamingException: не удалось создать экземпляр фабрики ресурсов - PullRequest
2 голосов
/ 23 августа 2011

Прежде всего, я не Java-разработчик. Мне просто нужно получить простые примеры JSP, которые подключаются к базе данных Postgres и получить некоторую информацию.

Я запустил его в локальной среде , но когда я пытаюсь запустить его на производственном сервере (Apache Tomcat 6.0.29), он просто не работает. На странице отображается следующее исключение:

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)

Я заметил, что при перезагрузке приложения catalina.out показывает следующую проблему:

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]

На WEB-INF / lib у меня есть следующие файлы:

# 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

Я пытался поискать в этом вопросе, но во всех решениях упоминается naming-factory-dbcp.jar, который уже существует. Есть идеи, что мне делать?

Спасибо!

EDIT

Вот моя библиотека для котов:

-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

1 Ответ

2 голосов
/ 23 августа 2011

dbcp классы уже должны быть доступны в tomcat/lib. Тогда нет необходимости включать его в ваш файл WAR - это может вызвать раздражение загрузчика классов, если вы используете неправильную версию. Попробуйте удалить файлы ...dbcp.jar из каталога WEB-INF / lib, поместите postgres...jar в tomcat/lib и перезапустите Tomcat.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...