我正在尝试使用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


请指教。

最佳答案

我的猜测是,假设编译器没有提及完整的软件包名称,那么您可能在顶层软件包中还有另一个名为DdlUtilsException的类。如果您使用的是Eclipse或类似工具,请尝试导航至类声明。

编辑:好的,从您的评论来看,您不包括各种依赖项。确保已下载DdlUtils-1.0-bin.zip,并且所有依赖项都在lib目录中。我现在还不清楚是否需要所有这些,但是您不妨先使用它们,然后删除不需要的内容。

08-27 06:03