我正在尝试使用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目录中。我现在还不清楚是否需要所有这些,但是您不妨先使用它们,然后删除不需要的内容。