【发布时间】:2012-12-28 08:36:36
【问题描述】:
我用外部库制作了一个可运行的 jar。在 Windows 下,我使用 bat 文件来运行应用程序 (java -Djava.library.path=./dist/lib -cp ./dist/Navegador.jar; navegador.Main),它可以正常工作。
我创建了一个 sh 文件来在 Linux 下运行该应用程序,但尝试在终端中执行它时出现以下错误:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError:
chrriis/dj/nativeswing/NativeSwing
我的 Manifest.mf 是这样的:
Class-Path: 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 下不起作用?
【问题讨论】:
-
如何在linux上运行它?将您的 .sh 文件放在此处。
-
sh 文件就像蝙蝠一样:
#!bin/bash java -Djava.library.path=./dist/lib -cp ./dist/Navegador.jar; navegador.Main -
删除
./dist/Navegador.jar之后的; -
删除分号后出现同样的错误。也许我需要一个特殊的 sintaxis 来在 Linux 中运行 jar?