Проблема в использовании org.apache.ddlutils.DdlUtilsException

Я пытаюсь использовать пакет org.apache.ddlutils для чтения метаданных базы данных. Я написал следующий метод:

public static void readMetaData(DataSource dataSource) throws DdlUtilsException{

    final Platform platform = PlatformFactory.createNewPlatformInstance(dataSource);
}

Но инструкция throws DdlUtilsException выдает следующую ошибку:

Никакое исключение типа DdlUtilsException не может быть выброшено; тип исключения должен быть подклассом Throwable

Я просто не понимаю причину этой ошибки, потому что API на http://db.apache.org/ddlutils/api/org/apache/ddlutils/DdlUtilsException.html четко заявляет следующее:

java.lang.Object
  extended by java.lang.Throwable
      extended by java.lang.Exception
          extended by java.lang.RuntimeException
              extended by org.apache.commons.lang.exception.NestableRuntimeException
                  extended by org.apache.ddlutils.DdlUtilsException

Пожалуйста посоветуй.

2 ответа

Решение

Я предполагаю, что у вас есть еще один класс под названием DdlUtilsException где-то - возможно, в пакете верхнего уровня, учитывая, что компилятор не упоминает полное имя пакета. Если вы используете Eclipse или что-то подобное, попробуйте перейти к объявлению класса.

РЕДАКТИРОВАТЬ: Хорошо, судя по вашему комментарию, вы не включаете различные зависимости. Убедитесь, что вы загрузили DdlUtils-1.0-bin.zip, и все зависимости находятся в каталоге lib. Мне не сразу понятно, нужны ли вам все они, но вы могли бы также использовать их все для начала, а затем удалить то, что вам не нужно.

Похоже, что другой класс 'org.apache.commons.lang.exception.NestableRuntimeException' находится в общем-ланге. Скачайте и добавьте эту банку, и она должна работать. Проверьте документы для DDL Utils и посмотрите, от чего еще это зависит.

Другие вопросы по тегам