【发布时间】:2012-08-13 12:54:59
【问题描述】:
我有一个库,其中包含连接到 oracle 数据库的功能。当我导出这个库(作为 JAR)并在主项目中使用它时,在使用 class.forname 加载驱动程序时会出现异常。它显然找不到 ojdbc 驱动程序。我将此驱动程序包含在构建路径中并作为导出库。
我直接从主项目测试并使用了驱动程序,它可以工作,它连接到oracle db。
谢谢。
【问题讨论】:
我有一个库,其中包含连接到 oracle 数据库的功能。当我导出这个库(作为 JAR)并在主项目中使用它时,在使用 class.forname 加载驱动程序时会出现异常。它显然找不到 ojdbc 驱动程序。我将此驱动程序包含在构建路径中并作为导出库。
我直接从主项目测试并使用了驱动程序,它可以工作,它连接到oracle db。
谢谢。
【问题讨论】:
问题是你的驱动是一个jar文件,当你将应用导出为jar文件时,那个驱动会是jar文件中的jar文件。对于这种情况,您要么需要一个特殊的类加载器,要么将驱动程序 jar 文件放在主程序的类路径中。
【讨论】:
java -cp path-to/ojdbc14.jar:path-to/your-jar projects.main.Clazz(在项目编译的 .class 文件所在的目录中),然后它将位于类路径中。
使用 WinRar 探索您导出的jar,并检查它是否包含 jar 下的 jar。
【讨论】: