将 JDBC 驱动程序发送到 WAR for Tomcat 7
Posted
技术标签:
【中文标题】将 JDBC 驱动程序发送到 WAR for Tomcat 7【英文标题】:Ship JDBC driver into WAR for Tomcat 7 【发布时间】:2012-08-15 20:13:20 【问题描述】:在更新到 Tomcat 7(从 Tomcat 6)之前,我能够使用 WAR 文件发布 mysql JDBC 驱动程序。我在使用 Tomcat 6 创建 JNDI 数据源时没有遇到任何问题(可能是重新部署时内存泄漏)。
但是,我正在尝试使用新的连接池在 Tomcat 7 上部署相同的 WAR(使用 MySql 驱动程序)并获得:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
我知道更适合 JDBC 驱动程序的位置是 CATALINA_HOME/lib
。
新的连接池是否绝对要求所有 JDBC 驱动程序都在 CATALINA_HOME/lib
中?或者一些配置可以让我在 WAR 中发布驱动程序。
【问题讨论】:
【参考方案1】:是的。驱动应该在CATALINA_HOME\lib
特别是如果你想使用Tomcat的池
发件人:Tomcat 7 Connection Pooling
在继续之前,不要忘记将 JDBC 驱动程序的 jar 复制到 $CATALINA_HOME/lib.
【讨论】:
谢谢!虽然这可行,但我仍然很困惑为什么 tomcat 6 允许捆绑而 tomcat 7 不允许。以上是关于将 JDBC 驱动程序发送到 WAR for Tomcat 7的主要内容,如果未能解决你的问题,请参考以下文章
部署到linux上的tomcat生成的war项目的jdbc的
Web项目打成war包部署到tomcat时报MySQL Access denied for user 'root'@'localhost' (using passwor