Проблема в использовании 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 и посмотрите, от чего еще это зависит.