我用外部库制作了一个可运行的 jar。在 Windows 下,我使用 bat 文件来运行应用程序 (java -Djava.library.path=./dist/lib -cp ./dist/Navegador.jar; navegador.Main
) 并且它工作正常。
我创建了一个 sh 文件来在 Linux 下运行该应用程序,但在尝试在终端中执行它时出现以下错误:
线程“AWT-EventQueue-0”中出现异常 java.lang.NoClassDefFoundError:
chrriis/dj/nativeswing/NativeSwing
我的Manifest.mf是这样的:
类路径:lib/DJNativeSwing-SWT.jar lib/DJNativeSwing-SWTAPI.jar lib
/DJNativeSwing-SWTCore.jar lib/MozillaInterfaces-1.8.1.3.jar lib/DJNa
tiveSwing.jar lib/swt.jar
为什么这个 jar 在 Linux 下不起作用?
最佳答案
你有一个或两个lib
目录吗?你有
-Djava.library.path=./dist/lib
但你也有
lib/DJNativeSwing.jar
这是否意味着您有 dist/lib
和 lib
目录,还是它们应该相同?
关于java - Jar 可在 Windows 中运行,但不能在 Linux 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14317527/