我试图在Ubuntu 12.X下的Tomcat 7中设置JDBC DataSource,所以我将以下内容添加到context.xml文件中:
<Resource name="jdbc/myDS" auth="Container" type="javax.sql.DataSource" maxActive="5" maxIdle="2" maxWait="5000" driverClassName="org.postgresql.Driver" username="usr" password="***" url="jdbc:postgresql://localhost:5432/db" />
显然,使用正确和测试的数据库用户ID和密码。当我重新启动Tomcat,我得到这个错误:
Feb 05,2013 1:10:01 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]
我googled,并发现JDBC驱动程序必须复制到$ CATALINA_HOME / lib文件夹,所以我将postgresql-9.2-1000.jdbc4.jar复制到/ usr / share / tomcat7 / lib,但没有帮助。我尝试将文件复制到其他位置,结果相同。
另一个尝试是将/ usr / share / tomcat7 / lib中的tomcat-dbcp.jar符号链接从../../java/tomcat-dbcp-7.0.30.jar更改为../../java/tomcat- dbcp.jar。唯一的变化是我只有一个警告而不是四个,但数据源也不起作用。
Java版本:
jdoe@sever:~$ java -version java version "1.7.0_09" OpenJDK Runtime Environment (IcedTea7 2.3.4) (7u9-2.3.4-0ubuntu1.12.10.1) OpenJDK 64-Bit Server VM (build 23.2-b09,mixed mode)
任何暗示,非常欢迎。
干杯。
库中的tomcat-dbcp-7.0.30.jar库已损坏。
替换为:
sudo wget -O /usr/share/java/tomcat-dbcp-7.0.30.jar http://search.maven.org/remotecontent?filepath=org/apache/tomcat/tomcat-dbcp/7.0.30/tomcat- DBCP,7.0.30.jar