我正在尝试使用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请指点。
发布于 2011-02-11 15:14:25
我的猜测是,您在某个地方找到了另一个名为DdlUtilsException的类--可能在顶级包中,因为编译器没有提到完整的包名。如果您正在使用Eclipse或类似的东西,请尝试导航到类声明。
编辑:好的,从您的评论来看,您没有包括各种依赖项。确保下载了DdlUtils-1.0-bin.zip,并且依赖项都在lib目录中。我还不清楚你是否需要它们,但你最好先使用它们,然后去掉你不需要的东西。
发布于 2011-02-11 15:31:59
看起来,另一个类'org.apache.commons.lang.exception.NestableRuntimeException‘位于commons中。下载并添加这个jar,它应该可以工作。检查DDL的文档,看看它还依赖于什么。
https://stackoverflow.com/questions/4970571
复制相似问题