【问题标题】:Exported Jar file throws exception (JDBC)导出的 Jar 文件引发异常 (JDBC)
【发布时间】:2013-11-18 22:04:16
【问题描述】:

我在我的一个项目中使用了 JDBC,它在 Eclipse 中完美运行。我不得不将 ojdbc6.jar 添加到项目 BTW 的 Java 构建路径。 (我也没有在代码中包含任何 Class.forName 语句,因为我听说它对于 JDBC 4 及更高版本是可选的)

当我将项目导出到 jar 文件并尝试运行它时,它会抱怨说“找不到 JDBC 驱动程序”等等。我可以看到这是因为 ojdbc6.jar 现在从构建路径中丢失了。有人可以告诉我解决方案吗?

谢谢!

【问题讨论】:

标签: java eclipse jdbc jar


【解决方案1】:

这是一个简单的方法来导出使用外部 jar 作为库的 JAR:

  1. 你要写一个ma​​nifest文件,我把它命名为jar.manifest。
  2. 清单文件中的内容如下:

    清单版本:1.0
    主类:com.enginebai.activity.MyJDBCProgram
    类路径:lib/ojdbc6.jar lib/some-externam-lib.jar

并且确保在 Class-Path 下放置一个空行,否则 JAR 将无法运行。 (我不知道为什么要在那儿放一个空行。)

让我们回到eclipse:

  1. 在 Eclipse 中,您导出您的类并记住选择上面的清单文件。
  2. 确保您的 ojdbc6.jar 位于 project/lib 文件夹中。
  3. 打开你的终端并cd到项目根目录,输入`java -jar your-jar-name.jar',它应该可以工作了。

【讨论】:

    【解决方案2】:

    运行 jar 时将 ojdbc6.jar 放在类路径中

    【讨论】:

    • 你能告诉我怎么做吗,因为 java -cp 只接受类名,而我只有 JAR?
    • 在 linux java -cp ojdbc.jar:your.jar -jar YourMainClass
    • 文件 ojdbc6.jar 必须在您的工作目录中。并且您应该在 cp 中定义所有内容:java -cp ojdbc6.jar:myJar.jar:。你的主类
    【解决方案3】:

    我进行了一些研究并找到了一个似乎可行的解决方案。 我已将项目导出到“可运行 Jar 文件”中,而不仅仅是“jar 文件”。 这样,我实际上能够将 Jar 文件从我的构建路径重新打包到我将项目导出到的新 Jar 文件中。简单干净。

    您可能还想查看构建路径中现有 jar 文件中的签名 Jar 文件和任何其他证书。它们不能通过导出选项直接重新打包。

    【讨论】:

      猜你喜欢
      • 2014-09-21
      • 2014-03-18
      • 2018-03-31
      • 2021-07-20
      • 1970-01-01
      • 1970-01-01
      • 2018-05-26
      • 1970-01-01
      • 2015-02-26
      相关资源
      最近更新 更多