【问题标题】:Web application cannot find mysql driverWeb 应用程序找不到 mysql 驱动程序
【发布时间】:2016-07-26 15:54:44
【问题描述】:

下面的代码 sn-p 已经失败了

    private void initConnectionPool() {
            try {

            connectionPool = new SimpleJDBCConnectionPool("com.mysql.jdbc.Driver","jdbc:mysql://localhost:3306/mydb", "root","mypassword", 2, 5);
        } catch (SQLException e) {
            e.printStackTrace();
        }
}

作为背景信息。我只是想用 Vaadin 连接到数据库。数据库存在,我已经使用控制台 java 应用程序测试了驱动程序位于 mysql-connector-java-5.0.8-bin.jar 中。我可以打开数据库查询。

在带有 Vaadin 的 Web 应用程序上,它告诉我它无法加载驱动程序。我已经尝试将 .jar 文件添加到构建路径。我也将 .jar 文件放到了 target/hello-world/Web-inf/lib 目录中。我还将它添加到部署程序集(项目属性)中。我想让 maven 处理这种依赖关系,但我不知道该怎么做(我是 maven 新手,我基本上遵循 Vaadin 教程在码头服务器上运行 Web 应用程序)。

所以基本上,我尝试了很多东西,即使我把它放在 web-inf 文件夹中,我的应用程序也找不到 com.mysql.jdbc.Driver。我见过类似的问题,并尝试了许多可能的答案,但到目前为止,无济于事。谁能告诉我解决这个问题的最简单方法是什么?

为了您的信息,我也将从 eclipse 启动码头服务器。

非常感谢。

【问题讨论】:

  • 从你的描述来看,这听起来像是一个 maven 项目,所以你应该在你的 pom.xml 中添加 mysql 驱动程序依赖项。如果不是,请添加有关您的项目设置以及您如何运行应用程序 ide、独立服务器等的更多详细信息
  • 这是一个 maven 项目,但我是 maven 新手,我不知道如何让它管理该依赖项
  • 嗯,首先您可以阅读有关mavenits dependency system 的信息,然后您可以查找/谷歌mysql library 并将其添加到dependencies 部分的POM 文件中。

标签: mysql jetty vaadin


【解决方案1】:

将驱动程序 jar 文件复制到 WebContent > WEB-INF > lib
如果 lib 不存在,请创建它。 Tomcat 可能会从指定的文件夹中找到驱动程序。

【讨论】:

    【解决方案2】:

    我没有尝试您提出的解决方案,因为我使用的是码头。无论如何,只是将文件放在 WEB-INF 文件夹中也没有成功。最后,我设法通过 Maven 安装了依赖项并且它可以工作。我想是这样的,因为我不在一个拥有大量防火墙的大型组织中工作。

    我只是右键单击项目(Eclipse)并选择了Maven->添加依赖项

    组 ID:mysql 工件 ID:mysql-connector-java 版本:5.1.6

    然后我转到“运行”菜单并选择 Maven 安装。

    最后一个版本有点旧,我遇到了其他可能与之相关的问题,但至少它没有打开连接并且可以正常工作。

    干杯

    【讨论】:

      猜你喜欢
      • 2016-07-14
      • 2012-04-03
      • 2019-07-25
      • 2016-04-02
      • 2013-04-22
      • 2019-11-07
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多