JDBC ClassNotFound - PullRequest
       3

JDBC ClassNotFound

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

Я делаю веб-приложение, используя GlassFish. В этом веб-приложении мне нужно иметь возможность общаться с базой данных MySQL. Я скачал файл jar коннектора mysql и добавил его в путь сборки. Тем не менее, когда я пытаюсь подключиться к нему, я получаю эту ошибку: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Это мой код для подключения к базе данных:

public void connect(){
    try {
        Class.forName(dbClass);
        connect = DriverManager.getConnection(dbUrl, "root", "333333");
        statement = connect.createStatement();
        System.out.println("Connected to Database");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

Я также прикрепил скриншот, чтобы вы могли видеть, что jar добавлен в buildpath:

enter image description here

Любая помощь приветствуется. Спасибо

Ответы [ 3 ]

3 голосов
/ 28 декабря 2011

Путь сборки используется для компиляции вашего приложения.Во время выполнения контейнер выполняет поиск библиотек в папке WEB-INF / lib веб-приложения.Удалите его из пути сборки, поместите в этот каталог, и Eclipse автоматически добавит его в путь сборки и путь к классу времени выполнения.

Обратите внимание, что в веб-приложении, работающем внутри контейнера Java EE, такого как glassfish, выобычно помещают драйвер JDBC в путь к классу контейнера Java EE и настраивают контейнер для предоставления источника данных (инкапсуляции пула соединений) для приложений.Приложения используют свой дескриптор развертывания и JNDI, чтобы получить ссылку на этот источник данных.Проверьте документацию Glassfish.Вы не должны делать открытие и закрытие соединения при каждом запросе веб-приложения.

3 голосов
/ 28 декабря 2011

Драйвер jdbc jar, безусловно, не экспортируется на сервер. Перейдите к представлению problems в Eclipse, и вы должны увидеть предупреждение о том, что jar не экспортируется. Щелкните правой кнопкой мыши и выберите быстрое исправление, а затем нажмите OK, чтобы экспортировать его.

1 голос
/ 28 декабря 2011

Вставьте банку с mysql-соединителем в папку lib вашего контейнера, т.е. glassfish,

Перейти к Каталогу установки Glassfish,

Glasshfish_Directory \ GlassFish \ Lib

и вставьте туда свою банку, и перезапустите сервер

Поместив свой jar в папку lib на сервере, ваш jar-файл будет доступен для всех приложений на вашем сервере. если завтра вы захотите развернуть другое приложение, вам больше не придется беспокоиться о mysql-connect jar.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...