在编译项目时它工作正常,但在将其导出到可运行的jar
并启动后,它无法找到外部文件并引发错误。我该怎么办?
答案 0 :(得分:2)
将外部库添加到manifest.mf
:
Class-Path: . MyApp_lib/extlib.jar MyApp_lib/extlib2.jar ...
答案 1 :(得分:1)
您可以尝试构建包含所有广告的fat jar
。它包含一个自定义类加载器,用于加载项目外部引用的jar。
尝试使用http://fjep.sourceforge.net/插件构建一个胖罐。
您可以使用File -> Export -> Other -> One Jar Exporter
导出包含jar的java项目。
这样导出的jar工作正常。
答案 2 :(得分:0)
你必须在类路径中保留所有必需的jar来运行你的jar。运行你的jar:
java -cp extlib/* -jar yourjar.jar
或java -cp lib1.jar:lib2.jar:.. -jar yourjar.jar
答案 3 :(得分:0)
确保在构建jar时,包含所有使用过的库(包括类路径中的所有内容)。引用外部jar时会发生此问题。
答案 4 :(得分:0)
您可以在jar的清单文件中包含一个classpath变量。