[java] java.lang.ClassNotFoundException : Eclipse의 com.mysql.jdbc.Driver

코드의 문제점은 디버깅 중에 많은 오류가 있습니다. mysql 데이터베이스에 연결할 싱글 톤 클래스에 대한 코드를 작성 중입니다.

내 코드는 다음과 같습니다.

package com.glomindz.mercuri.util;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;

public class MySingleTon {
    String url = "jdbc:mysql://localhost:3306/";
    String dbName = "test";
    String driver = "com.mysql.jdbc.Driver";
    String userName = "root";
    String password = "";

    private static MySingleTon myObj;
    private Connection Con ;
    private MySingleTon() {
        System.out.println("Hello");
        Con= createConnection();
    }

    @SuppressWarnings("rawtypes")
    public Connection createConnection() {
        Connection connection = null;
        try {
            // Load the JDBC driver
            Class driver_class = Class.forName(driver);
            Driver driver = (Driver) driver_class.newInstance();
            DriverManager.registerDriver(driver);
            connection = DriverManager.getConnection(url + dbName);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        }
        return connection;
    }

    /**
     * Create a static method to get instance.
     */
    public static MySingleTon getInstance() {
        if (myObj == null) {
            myObj = new MySingleTon();
        }
        return myObj;
    }

    public static void main(String a[]) {
        MySingleTon st = MySingleTon.getInstance();
    }
}

나는 자바를 처음 사용합니다. 도와주세요.



답변

mysql 연결 라이브러리가 프로젝트에 포함 되어 있지 않은 것 같습니다 . 제안 된 솔루션 중 하나에 따라 문제를 해결하십시오.

  • 메이븐 프로젝트 솔루션

mysql-connector 종속성을 pom.xml 프로젝트 파일에 추가합니다.

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

여기에 모든 버전이 있습니다 : https://mvnrepository.com/artifact/mysql/mysql-connector-java

  • 모든 프로젝트 솔루션

프로젝트에 jar 라이브러리를 수동으로 추가하십시오.

프로젝트-> 빌드 경로-> 빌드 경로 구성을 마우스 오른쪽 버튼으로 클릭하십시오.

에서 Libraries Tab 키를 누릅니다 Add External JarSelect당신의 항아리.

여기서 mysql-connector 용 zip을 찾을 수 있습니다.

  • 설명:

프로젝트를 빌드 할 때 mysql 연결 라이브러리의 파일 (com.mysql.jdbc.Driver 클래스)을 찾을 수 없기 때문에 java에서 예외가 발생합니다. 솔루션은 프로젝트에 라이브러리를 추가하고 Java는 com.mysql.jdbc.Driver를 찾습니다.


답변

IDE에 오류 (컴파일 시간 오류)가 발생하면 mysql-connector jar 파일을 libs에 추가하고 참조 된 프로젝트 라이브러리에도 추가해야합니다.

실행 중일 때이 오류가 발생하면 웹 서버의 lib 폴더에 mysql-connector JAR 파일을 포함하지 않았기 때문일 수 있습니다.

추가 mysql-connector-java-5.1.25-bin.jar웹 서버의 lib 디렉토리에 또한 클래스 패스합니다. Tomcat lib 경로가 예제로 제공됩니다.Tomcat 6.0\lib


답변

들어 Gradle을이 프로젝트를 기반 당신에 대한 종속성이 필요 MySQL의 자바 커넥터 :

dependencies {
    compile 'mysql:mysql-connector-java:6.0.+'
}


답변

모든 사람이 답을 썼지 만 실제로 가장 간단한 방법으로 답한 사람이 없다는 사실에 여전히 놀랍습니다.

사람들은 jar 파일을 포함하는 대답입니다. 그러나 오류는 계속 발생합니다.

그 이유는 프로젝트가 실행될 때 jar가 배포되지 않기 때문입니다. 따라서 우리가해야 할 일은 IDE에이 jar도 배포하도록 지시하는 것입니다.

여기 사람들은 WEB-INF의 lib 폴더에 jar 파일을 넣을 정도로 여러 번 대답했습니다. 괜찮아 보이지만 왜 수동으로 수행합니까? 간단한 방법이 있습니다. 아래 단계를 확인하십시오.

1 단계 : 프로젝트에서 jar 파일을 참조하지 않은 경우 다음과 같이 참조하십시오.

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 프로젝트 속성으로 이동합니다. 그런 다음 Java 빌드 경로로 이동 한 다음이를 통해 외부 jar 파일을 추가하십시오.

그러나 빌드 경로를 통해 외부 jar를 추가하면 클래스 컴파일에만 도움이되고 프로젝트를 실행할 때 jar가 배포되지 않기 때문에 여전히 문제가 해결되지 않습니다. 이를 위해이 단계를 따르십시오.

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 프로젝트 속성으로 이동합니다. 그런 다음 Deployment Assembly 로 이동 한 다음 Add 를 누른 다음 Java 빌드 경로 항목으로 이동하여 jstl, mysql 또는 다른 jar 파일이든 라이브러리를 추가하십시오. 배포에 추가합니다. 아래는 그것을 표시하는 두 사진입니다.

추가하기 전에

추가 후


답변

클래스 경로 에 MySQL MySQL Connector Jar 용 드라이버 jar를 포함해야합니다 .

Eclipse를 사용하는 경우 :
Eclipse에서 종속 라이브러리를 추가하는 방법

명령 행을 사용하는 경우 java의 -cp 매개 변수를 사용하여 드라이버 jar의 경로를 포함하십시오.

java -cp C:\lib\* Main


답변

여기에서(mysql-connector-java-bin) 클래스 경로 다운로드에서 jar 를 확인 하십시오.


답변

JDBC API는 대부분 데이터베이스와 독립적으로 작동하는 인터페이스로 구성됩니다. JDBC API를 구현하는 각 데이터베이스에는 데이터베이스 특정 드라이버가 필요합니다.

먼저 www.mysql.com에서 MySQL 커넥터 jar를 다운로드 한 다음 :

Right Click the project -- > build path -- > configure build path

라이브러리 탭에서 누르고 Add External Jar항아리를 선택하십시오.