导出的 Jar 文件引发异常 (JDBC)

Posted

技术标签:

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

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

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

谢谢!

【问题讨论】:

相关***.com/q/18413014/85421? 【参考方案1】:

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

    你要写一个ma​​nifest文件,我把它命名为jar.manifest。

    清单文件中的内容如下:

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

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

让我们回到eclipse:

    在 Eclipse 中,您导出您的类并记住选择上面的清单文件。 确保您的 ojdbc6.jar 位于 project/lib 文件夹中。 打开你的终端并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 文件和任何其他证书。它们不能通过导出选项直接重新打包。

【讨论】:

以上是关于导出的 Jar 文件引发异常 (JDBC)的主要内容,如果未能解决你的问题,请参考以下文章