我正在构建 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/