使用org.apache.ddlutils.DdlUtilsException时出现问题

时间:2011-02-11 15:07:29

标签: java metadata ddlutils

我正在尝试使用 org.apache.ddlutils 包来读取数据库元数据。 我写了以下方法:

public static void readMetaData(DataSource dataSource) throws DdlUtilsException{

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

但语句 抛出DdlUtilsException 会出现以下错误:

不能抛出DdlUtilsException类型的异常;异常类型必须是Throwable的子类

我根本无法理解此错误背后的原因,因为http://db.apache.org/ddlutils/api/org/apache/ddlutils/DdlUtilsException.html处的API明确说明了以下内容:

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 个答案:

答案 0 :(得分:3)

我的猜测是你在某个地方有另一个名为DdlUtilsException的类 - 可能在顶级包中,因为编译器没有提到完整的包名。如果您正在使用Eclipse或类似的东西,请尝试导航到类声明。

编辑:好的,根据您的评论判断,您不包括各种依赖项。确保已下载DdlUtils-1.0-bin.zip,并且依赖项都在lib目录中。我不能立即清楚你是否需要所有,但你可以先使用它们,然后删除你不需要的东西。

答案 1 :(得分:1)

看起来其他类'org.apache.commons.lang.exception.NestableRuntimeException'位于commons-lang中。下载并添加该jar,它应该工作。检查DDL Utils的文档,看看它还有什么依赖。