#java #mysql #jdbc #netbeans-6.9
#java #mysql #jdbc #netbeans-6.9
Вопрос:
Я разрабатываю приложение на Java с Netbeans 6.9.1 в качестве IDE. Я использую базу данных MySQL и подключаюсь к ней с помощью JDBC.
У меня есть любопытная проблема.
Class.forName() не генерирует исключение ClassNotFoundException в одном пакете, тогда как оно генерирует его в другом. Что может быть не так?
Версия JDK 1.6, и я использую Ubuntu 10.10.
Комментарии:
1. Являются ли два пакета частью одного и того же уровня приложений.? Эта проблема пахнет проблемой загрузки класса. Два рассматриваемых класса загружаются двумя различными загрузчиками классов
2. Являются ли оба пакета частью одного и того же проекта netbeans? Если нет, проверьте путь к классу.
3. @doc_180 Да, они находятся в той же части уровня приложений. И класс, который я пытаюсь загрузить, в обоих случаях является драйвером MySQL.
4. @kunal Они являются частью одного и того же проекта, да. Но в разных пакетах.
5. Не могли бы вы, пожалуйста, опубликовать трассировку стека?
Ответ №1:
Class.forName() не генерирует исключение ClassNotFoundException в одном пакете, тогда как оно генерирует его в другом. Что может быть не так?
Единственные два сценария, которые я могу придумать для этого, это:
-
Один пакет представляет собой пакет приложений, а другой — тестовый пакет. В этом случае вам нужно будет убедиться, что Connector / J добавлен в список обычных библиотек, а также в список тестовых библиотек.
-
Это два разных проекта, поэтому вам придется добавлять Connector / J в оба проекта.
Комментарии:
1. Нет, они оба являются частью пакетов с исходными кодами, и они оба принадлежат одному проекту. Вот почему я в тупике.
Ответ №2:
Если вы используете для подключения mysql netbeans, возможно, вам придется выполнить шаги по следующей ссылке. ——>Справка Netbeans