java.lang.ClassNotFoundException : com. mysql.jdbc.Driver 异常

标签 java mysql maven heroku jdbc

我正在构建 Maven Java Web 应用程序以及何时构建

Class.forName("com.mysql.jdbc.Driver");

我明白了

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 

mysql-connector 像这样添加到我的 pom.xml 文件中

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.32</version>
    <scope>provided</scope>
</dependency>

但我不断得到这个。我什至尝试下载 mysql-connector 并将其手动添加到项目中,但它没有任何改变。

我也有没有 Maven 的相同应用程序,并且相同的代码工作正常

最佳答案

您已将依赖范围设置为provided。这意味着在编译项目时使用了 jar(虽然你不需要它来编译它,因为你应该只使用标准的 JDBC 类),但它不包含在构建创建的 jar 或 war 中,因为这依赖项应该由您部署应用程序的应用程序服务器“提供”。

所以,要么你真的打算提供这个 jar,它应该在应用程序服务器的类路径中,要么你想把这个 jar 与应用程序捆绑在一起,它应该有 runtime 范围(因为您需要它来运行应用程序,而不是编译它),而不是 provided

关于java.lang.ClassNotFoundException : com. mysql.jdbc.Driver 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25471814/

相关文章:

mysql - #1005 - 无法创建表 'addfriend.updates'(错误号 : 150)

mysql - 更新另一表的一个字段

testing - 如何在 Selenium ui 测试期间交换模拟服务?

maven - Maven settings.xml 文件中的镜像是什么?

java - 如何为当今的浏览器部署一个 java applet(applet、embed、object)?

java - 在 Android 中动态解析 XML?

java - 使用 Visual Studio Code Portable 下载 Java 扩展时出现问题

java - Azure容器实例(Windows)是否支持访问表存储

mysql - 我正在尝试获取数据库中特定文件夹中的项目总数 - SQL (HP ALM)

maven - 是否有用于 Solace Artifact 的 Maven 存储库?