java.lang.ClassNotFoundException: com.mysql.jdbc.Driver при выполнении JAR
Я пытаюсь подключиться к моему локальному серверу 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 ответа
В случае JAR, -cp
а также -classpath
аргументы и тому %CLASSPATH%
переменные среды игнорируются. Вместо этого путь к классу должен быть указан в Class-Path
Вступление в JAR собственной /META-INF/MANIFEST.MF
файл. Это может быть путь относительно самого JAR. Например, в той же папке или в /lib
вложенная папка.
В приведенном ниже примере предполагается, что драйвер находится в той же папке, что и JAR.
Class-Path: mysql-connector-java.jar
(убедитесь, что MANIFEST.MF
файл имеет пустую строку в конце)
Смотрите также:
Установите MySQL соединитель для JAVA
sudo apt-get install libmysql-java
Установить путь к классу
export CLASSPATH=$CLASSPATH:/usr/share/java/mysql-connector-java.jar
Источник: http://marksman.wordpress.com/2009/03/01/setting-up-mysqljdbc-driver-on-ubuntu/
Независимо от того, где он скомпилирован, он будет работать в той же реализации JVM.
Все, что вам нужно сделать, это правильно включить соединитель драйвера JDBC в ваш путь к классу. Попробуйте поместить mysql-connector-java.jar в тот же каталог, что и ваша программа.
Если вы разархивируете этот файл jar, будет ли он содержать com/mysql/jdbc/Driver.class? Если нет, попробуйте загрузить реализацию драйвера jdbc с веб-сайта mysql.