본문 바로가기
MySql

MySQL java.lang.ClassNotFoundException : JAR 실행시 com.mysql.jdbc.Driver

by 베이스 공부 2020. 9. 24.
반응형

다음 코드를 사용하여 로컬 MySQL 서버에 연결하려고합니다.

dbURL = "jdbc:mysql://localhost:3306:/" + dbname;
try{
    Class.forName("com.mysql.jdbc.Driver");
    try{
        con = DriverManager.getConnection(dbURL, dbuser, dbpass);
    } catch (SQLException ex){
        System.out.println("ERROR: Could not connection to SQL DB");
        con = null;
    }
} catch (ClassNotFoundException e){
    System.out.println("Error: ");
    e.printStackTrace();
}

그런 다음

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

Java가 Java 환경을 MySQL 데이터베이스에 연결하는 데 적합한 드라이버를 찾을 수 없다는 것을 알고 있습니다. 이것은 Windows 7 시스템에서 컴파일되고 Ubuntu 11.04 시스템으로 포팅됩니다.

다음과 같은 특정 클래스 경로로 Java 프로그램을 실행할 수있는 특별한 방법이 있습니까?

java -cp /usr/share/java/mysql-connector-java.jar program.jar

내가 시도했을 때 작동하지 않았습니다.

 

해결 방법

 

JAR의 경우 -cp -classpath 인수와 % CLASSPATH % 환경 변수가 무시됩니다 . 대신 JAR 자체 /META-INF/MANIFEST.MF 파일의 Class-Path 항목에 클래스 경로를 지정해야합니다. JAR 자체에 상대적인 경로 일 수 있습니다. 예 : 동일한 폴더 또는 / lib 하위 폴더에 있습니다.

아래 예제에서는 드라이버가 JAR과 동일한 폴더에 있다고 가정합니다.

Class-Path: mysql-connector-java.jar

( MANIFEST.MF 파일 끝에 빈 줄이 있는지 확인)




 

참조 페이지 https://stackoverflow.com/questions/8621141

 

 

반응형

댓글