Ошибка Java-JDBC-MySQL - PullRequest
       5

Ошибка Java-JDBC-MySQL

3 голосов
/ 12 ноября 2011

Я пытаюсь заставить мою java-программу общаться с БД MySQL.

Итак, я немного почитал и скачал MySQL Connector / J.Я извлек его в свой домашний каталог ~.Вот содержимое.

user@hamster:~$ ls
LoadDriver.class  LoadDriver.java  mysql-connector-java-5.1.18-bin.jar

Содержимое LoadDriver.java:

user@hamster:~$ cat LoadDriver.java 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
// Notice, do not import com.mysql.jdbc.*
// or you will have problems!

public class LoadDriver {
    public static void main(String[] args) {
        try {
            // The newInstance() call is a work around for some
            // broken Java implementations
            Class.forName("com.mysql.jdbc.Driver").newInstance();
        } catch (Exception ex) {
            System.out.println(ex);
        }
    }
}

Содержимое такое же, как у http://dev.mysql.com/doc/refman/5.1/en/connector-j-usagenotes-basic.html#connector-j-usagenotes-connect-drivermanager, с единственным изменением, которым является исключениевывод на консоль в блоке catch.

Я компилирую его следующим образом

leonard@hamster:~$ javac LoadDriver.java

Когда я пытаюсь его выполнить, выводится следующее:

leonard@hamster:~$ java LoadDriver
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Этот вывод соответствует выполненной команде, но при попытке запустить его с помощью предписанного метода CLASSPATH я сталкиваюсь со следующей проблемой.

leonard@hamster:~$ java -cp /home/leonard/mysql-connector-java-5.1.18-bin.jar LoadDriver
Exception in thread "main" java.lang.NoClassDefFoundError: LoadDriver
Caused by: java.lang.ClassNotFoundException: LoadDriver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: LoadDriver. Program will exit.

Я что-то упустил?Как мне запустить собственные примеры кода MySQL.

1 Ответ

2 голосов
/ 13 ноября 2011

Вам нужно иметь как jar, так и текущий каталог на пути к классам.

java -cp .:/home/leonard/mysql-connector-java-5.1.18-bin.jar LoadDriver
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...