从导出的 Jar 执行时找不到 jdbc 驱动程序



我有一个Java小程序,从eclipe执行时它可以正常工作,但我想将其导出到Jar并使用它。 但是当我这样做时,我找不到JDBC驱动程序,似乎在导出时,Jaybird没有导出。

对于导出,我使用 eclipse 导出并选择 Java/JAR 文件,在构建路径中,我有 jaybird 标记要导出。

有什么建议吗?提前致谢

使用 Fat Jar 构建包含所有依赖库的可运行 JAR

您很可能缺少 Jaybird jar 文件的 META-INF 文件夹中的文件。这些文件是 Jaybird 工作所必需的。另一种可能性是你缺少 Jaybird 所需的依赖项之一(连接器 api-1.5.jar,对于 Jaybird 2.2 或 mini-j2ee.jar对于早期版本)。

即使你让它工作,你很可能会在以后遇到错误,因为Jaybird在开发时并没有考虑到对小程序的支持,请参阅 http://tracker.firebirdsql.org/browse/JDBC-254 和NoClassDefFoundError with jdbc applet

顺便说一句:你为什么不按原样使用罐子。恕我直言,创建包括所有依赖项的胖罐子是丑陋且不灵活的。

我终于得到了答案,我不得不在 jaybird jar 上签名,因为那个 jar 正在 HDD 中进行读/写操作

通过使用 Eclipse,您可以简单地解决问题。通过转到Eclipse -> File -> Export -> Runnable JAR file并选择Extract required libraries into generated JAR选项,Eclipse 将在项目旁边提取所需的库并创建所需的清单。MF 文件,然后将它们全部打包到您的 JAR 文件中。

最新更新