java.lang.ClassNotFoundException:" com / mysql / jdbc / Driver"在pom中使用sql驱动程序

时间:2015-12-14 23:45:55

标签: java mysql maven jdbc intellij-idea

编辑:解决了这个问题 - 我没有在apache tomcat插件中声明依赖:

<extraDependencies>
                                <extraDependency>
                                    <groupId>org.apache.derby</groupId>
                                    <artifactId>derby</artifactId>
                                    <version>10.1.3.1</version>
                                </extraDependency>
                                <extraDependency>
                                    <groupId>javax.mail</groupId>
                                    <artifactId>mail</artifactId>
                                    <version>1.4</version>
                                </extraDependency>
                                <extraDependency>
                                    <groupId>mysql</groupId>
                                    <artifactId>mysql-connector-java</artifactId>
                                    <version>5.1.38</version>
                                </extraDependency>
                            </extraDependencies>

如下所示在pom中宣布。

问题:

我试图在我的maven项目中使用mysql jdbc驱动程序:

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.38</version>
</dependency>

但我得到了:

java.lang.ClassNotFoundException: "com/mysql/jdbc/Driver";
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at com.ollynural.app.database.retrievedatabase.DatabaseAccessor.returnSummonerDTOFromDatabaseUsingName(DatabaseAccessor.java:53)

编辑:尝试使用字符串而不是CLASS,错误是:

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

DatabaseAccessor returnSummonerDTOFromDatabaseUsingName是:

    String URL = prop.getProperty("URL");
    String USER = prop.getProperty("USER");
    String PASS = prop.getProperty("PASS");
    String CLASS = prop.getProperty("CLASS");
    String TABLE_UNIVERSITY_INFO =     prop.getProperty("TABLE_BASIC_INFO");
    try {
        Class.forName(CLASS);
    } catch (ClassNotFoundException e) {
        System.out.println("Can't find SQL Driver");
        e.printStackTrace();
    }

属性是:

URL="jdbc:mysql://localhost:3306/league_database_schema";
USER="username";
PASS="password"
CLASS="com.mysql.jdbc.Driver";

这些属性很适合上课,但我不知道为什么它找不到课程。我对maven来说比较新,而且在我搬到intellij和eclipse之前这个工作正常,但任何帮助都会非常有帮助!

谢谢

2 个答案:

答案 0 :(得分:3)

我建议检查存储库以查看是否实际安装了jar文件。

在存储库中,您应该在:(repository name)/mysql/mysql-connector-java/5.1.38/

中找到它

应该有一个jar文件mysql-connector-java-5.1.38.jar 和一个pom文件mysql-connector-java-5.1.38.pom

我认为应该是存储库,如果有人有更多想法/更正请分享。感谢。

答案 1 :(得分:0)

我无法通过您发布的片段来判断,但您的依赖是在pom的依赖关系部分声明的,而不是 dependencyManagement