【问题标题】:jdbc driver not found when execute from exported Jar从导出的 Jar 执行时找不到 jdbc 驱动程序
【发布时间】:2012-09-21 04:35:13
【问题描述】:

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

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

有什么建议吗?提前致谢

【问题讨论】:

  • 确保在 Eclipse 中使用的选项包括将库打包到我相信的 .jar 中。
  • 您可以尝试将您的require Jar添加到项目的lib文件夹中。
  • @Austin 正在使用 Runnable JAr 文件,我只有 FBCommandLine 启动配置,它给了我一个错误
  • @J.Arenas 这个选项? puu.sh/19Kpt
  • 安装程序怎么样?它将所有罐子作为一个安装包保存。不管怎样,对于netbeans,我用过这个coderanch.com/t/419419/vc/there-way-netbeans-include-external。有很多建议,我用过DOS SCRIPT

标签: java exception jdbc jar jaybird


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我终于得到了答案,我还必须签署 jaybird jar,因为那个 jar 正在 HDD 中进行读/写操作

    【讨论】:

      【解决方案3】:

      您很可能缺少 Jaybird jar 文件的 META-INF 文件夹中的文件。 Jaybird 需要这些文件才能正常工作。另一种可能性是您缺少 Jaybird 所需的依赖项之一(connector-api-1.5.jar,用于 Jaybird 2.2 或 mini-j2ee.jar,用于早期版本)。

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

      顺便说一句:你为​​什么不直接使用 jar。恕我直言,创建包含所有依赖项的胖 jar 既丑陋又不灵活。

      【讨论】:

      • 请解释一下“按原样使用jar”,你的意思是在applet html标签中添加archive=jaybird”?
      • 一般来说,我建议不要使用小程序。但如果你真的必须:你可以在小程序标签的ARCHIVE 属性中指定额外的档案。见docs.oracle.com/javase/1.4.2/docs/guide/misc/applet.html
      • 我试过了,但有时我的子程序没有初始化,但那会是另一个问题,谢谢!
      • 我终于得到了答案,我不得不签署 jaybird jar 也是因为那个 jar 在 HDD 中进行读/写操作
      【解决方案4】:

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

      【讨论】:

      • 我试过了,但是当我尝试执行时,我得到子程序没有初始化并且浏览器不显示小程序
      猜你喜欢
      • 1970-01-01
      • 2021-05-20
      • 2016-01-28
      • 1970-01-01
      • 2015-06-15
      • 2013-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多