编译项目时它工作正常,但在将其导出到可运行jar
并启动后,它找不到外部文件并引发错误。我该怎么办?
问问题
181 次
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 的清单文件中包含一个类路径变量。
于 2012-08-20T15:02:31.620 回答