zoukankan      html  css  js  c++  java
  • QA-IDEA中用maven配置项目无法加载JDBC

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

    Im building Maven Java Web application and when I do

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

    I get

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

    mysql-connector is added to my pom.xml file like this

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

    But I keep getting this. I even tried downloading mysql-connector and adding it manually to project, but it doesn't change anything.

    I also have the same app without Maven, and same code works fine

    Answer:

    You have set the scope of your dependency as provided. This means that the jar is used when compiling the project (although you shouldn't need it to compile it, since you should only use standard JDBC classes), but that it's not included in the jar or war created by the build, because this dependency is supposed to be "provided" by the application server where you deploy the application.

    So, either you actually intend to have this jar provided, and it should be in the application server's classpath, or you want to bundle this jar with the application, and it should have the scope runtime(because you need it to run the app, but not to compile it), instead of provided.

  • 相关阅读:
    线程中一些常用方法的分析
    Java中获取路径的方法_自我分析
    Mybatis 一对一,一对多,多对一,多对多的理解
    页面刷新两次为什么取不到值
    排序--插入
    排序--冒泡
    页面刷新两次为什么取不到值
    容器模式
    java操作oracle的blob,clob数据
    Redis基本操作命令
  • 原文地址:https://www.cnblogs.com/alone-striver/p/7998281.html
Copyright © 2011-2022 走看看