我正在尝试在 Ubuntu 12.X 下的 Tomcat 7 中设置 JDBC 数据源,因此我在 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" />
显然,使用正确且经过测试的数据库用户名和密码。当我重新启动 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]
我用谷歌搜索,发现 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。唯一的变化是我只收到一个警告而不是四个,但数据源也不起作用。
爪哇版:
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)
任何提示,非常欢迎。
干杯。