1

编译项目时它工作正常,但在将其导出到可运行jar并启动后,它找不到外部文件并引发错误。我该怎么办?

4

5 回答 5

2

将外部库添加到manifest.mf

Class-Path: . MyApp_lib/extlib.jar MyApp_lib/extlib2.jar ...
于 2012-08-20T14:57:22.963 回答
1

您可以尝试构建一个fat jar包含所有 jar 的。它包含一个自定义类加载器,用于加载项目外部引用的 jar。

尝试使用http://fjep.sourceforge.net/插件来构建一个胖 jar。

您可以使用File -> Export -> Other -> One Jar Exporter.

在此处输入图像描述

因此导出的罐子工作正常。

于 2012-08-20T14:56:09.693 回答
0

您必须将所有必需的 jar 保存在类路径中才能运行您的 jar。像这样运行你的jar:

java -cp extlib/* -jar yourjar.jar或者java -cp lib1.jar:lib2.jar:.. -jar yourjar.jar

于 2012-08-20T14:53:31.800 回答
0

确保在构建 jar 时包含所有使用的库(包括类路径中的所有内容)。当您引用外部 jar 时,会发生此问题。

于 2012-08-20T14:53:52.987 回答
0

您可以在 jar 的清单文件中包含一个类路径变量。

JAR 文件类路径

于 2012-08-20T15:02:31.620 回答