java.lang.ClassNotFoundException: com.mysql.jdbc.Driver при выполнении JAR - PullRequest
4 голосов
/ 24 декабря 2011

Я пытаюсь подключиться к моему локальному серверу 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

Это не сработало, когда я попробовал.

Ответы [ 3 ]

4 голосов
/ 24 декабря 2011

В случае файлов JAR аргументы -cp и -classpath и переменная окружения %CLASSPATH% игнорируются .Вместо этого путь к классу должен быть указан в записи Class-Path собственного файла JAR /META-INF/MANIFEST.MF.Это может быть путь относительно самого JAR.Например, в той же папке или в подпапке /lib.

В приведенном ниже примере предполагается, что драйвер находится в той же папке, что и JAR.

Class-Path: mysql-connector-java.jar

(убедитесь, чточто файл MANIFEST.MF имеет пустую строку в конце)

См. также:

1 голос
/ 21 сентября 2013

Установить MySQL-коннектор для JAVA

sudo apt-get install libmysql-java

Установить classpath

export CLASSPATH=$CLASSPATH:/usr/share/java/mysql-connector-java.jar

Источник: http://marksman.wordpress.com/2009/03/01/setting-up-mysqljdbc-driver-on-ubuntu/

0 голосов
/ 24 декабря 2011

Независимо от того, где он скомпилирован, он будет работать в той же реализации JVM.

Все, что вам нужно сделать, это правильно включить разъем драйвера JDBC в ваш путь к классам. Попробуйте поместить mysql-connector-java.jar в один каталог с вашей программой.

Если вы разархивируете этот jar-файл, будет ли он содержать com / mysql / jdbc / Driver.class? Если нет, попробуйте загрузить реализацию драйвера jdbc с веб-сайта mysql.

...