Java 使用org.apache.ddlutils.DdlUtilsException时出现问题
我试图使用org.apache.ddlutils包来读取数据库元数据。 我编写了以下方法:Java 使用org.apache.ddlutils.DdlUtilsException时出现问题,java,metadata,ddlutils,Java,Metadata,Ddlutils,我试图使用org.apache.ddlutils包来读取数据库元数据。 我编写了以下方法: public static void readMetaData(DataSource dataSource) throws DdlUtilsException{ final Platform platform = PlatformFactory.createNewPlatformInstance(dataSource); } 但语句抛出DdlUtilsException时会出现以下错误: 无法
public static void readMetaData(DataSource dataSource) throws DdlUtilsException{
final Platform platform = PlatformFactory.createNewPlatformInstance(dataSource);
}
但语句抛出DdlUtilsException时会出现以下错误:
无法引发DdlUtilsException类型的异常;异常类型必须是Throwable的子类
我根本不理解这一错误背后的原因,因为API at清楚地说明了以下几点:
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目录中。我现在还不清楚您是否需要所有这些类,但您不妨先使用它们,然后删除不需要的部分。我猜您在某个地方有另一个名为DdlUtilsException的类-可能在顶级包中,因为编译器没有提到完整的包名。如果您正在使用Eclipse或类似的东西,请尝试导航到类声明
编辑:好的,根据您的评论判断,您没有包括各种依赖项。确保已下载DdlUtils-1.0-bin.zip,并且依赖项都位于lib目录中。我现在还不清楚您是否需要所有这些,但您最好先使用它们,然后删除不需要的内容。看起来另一个类“org.apache.commons.lang.exception.NestableRuntimeException”位于commons-lang中。下载并添加该jar,它应该可以工作。检查文档中的DDL UTIL,看看它还依赖于什么。看起来另一个类“org.apache.commons.lang.exception.NestableRuntimeException”位于commons-lang中。下载并添加该jar,它应该可以工作。查看文档中的DDL UTIL,看看它还依赖于什么。谢谢Jon的回复!!我只在构建路径中使用了jarddlutils-1.0.jar。没有其他jar文件。但是当我查看eclipse的errors视图时,它说org.apache.commons.lang.exception.NestableRuntimeException类型无法解析。它是从必需的.class文件间接引用的。这个错误的原因可能是什么?@n\u g:听起来好像编译器在告诉你到底是什么错了。您需要添加一些依赖项,包括apache.commons。ddlutils主页应该告诉您需要依赖项。我刚刚查看了ddlutils 1.0版本,zip文件包含各种依赖项。@n\u g:但是如果您没有添加其他依赖项,您可能在其他地方遇到问题。。。也许是在执行时,而不是编译时,但仍然是个问题…@Jon:你说得对。但现在,即使是我也不确定我还需要哪些其他依赖项:。。。因此,我将在开发过程中添加其他JAR。感谢Jon的回复!!我只在构建路径中使用了jarddlutils-1.0.jar。没有其他jar文件。但是当我查看eclipse的errors视图时,它说org.apache.commons.lang.exception.NestableRuntimeException类型无法解析。它是从必需的.class文件间接引用的。这个错误的原因可能是什么?@n\u g:听起来好像编译器在告诉你到底是什么错了。您需要添加一些依赖项,包括apache.commons。ddlutils主页应该告诉您需要依赖项。我刚刚查看了ddlutils 1.0版本,zip文件包含各种依赖项。@n\u g:但是如果您没有添加其他依赖项,您可能在其他地方遇到问题。。。也许是在执行时,而不是编译时,但仍然是个问题…@Jon:你说得对。但现在,即使是我也不确定我还需要哪些其他依赖项:。。。因此,我将在开发过程中添加其他JAR。仅供以后参考。Apache DdlUtils 1.0依赖于Apache Commons Lang 2.6。更高版本3.0+不兼容。仅供以后参考。Apache DdlUtils 1.0依赖于Apache Commons Lang 2.6。更高版本3.0+不兼容。