2

我们这里有点问题。我们正在开发 GWT(Google Web Toolkit),其登录页面由 Spring Security 管理,而简单的 MySQL 数据库则用于用户管理。我们遇到了一个奇怪的行为。当我们从 IDE (Eclipse) 以开发模式运行代码时,虚拟化码头运行一切正常,但是,当我们尝试在 WAR 文件中构建应用程序,然后将其部署在 Tomcat 7 下时,出现以下错误:

无法获得 JDBC 连接...找不到适合 jdbc:mysql://localhost:3306/myschema 的驱动程序

我们已经知道这个异常只有两个原因,分别是:

  1. JDBC驱动加载失败
  2. URL连接字符串解析错误

我们非常确定 URL 是正确的,如下所示:

<beans:bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <beans:property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <beans:property name="url" value="jdbc:mysql://localhost:3306/myschema" />
        <beans:property name="username" value="root" />
        <beans:property name="password" value="root" />
    </beans:bean>     

所以这里的原因可能是 Tomcat 或 Spring Security 弄乱了库。最后一件事,我们正确地导入了所有 jar 文件,从 JDBC 到 SpringFramework 和 GWT。

如果您需要更多信息,请询问!谢谢..

4

1 回答 1

1

这听起来像是某种 ClassLoader 问题。当我使用tomcat连接池(来自tomcat lib dir)并在war文件中有mysql-connector-java jar时,我遇到了类似的问题。我不得不将 mysql-connector-java 移动到 tomcat lib 目录。

于 2012-09-27T08:29:15.233 回答