-1

我用外部库制作了一个可运行的 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 下不起作用?

4

2 回答 2

1

你有一个或两个lib目录吗?你有

-Djava.library.path=./dist/lib

但你也有

 lib/DJNativeSwing.jar

这是否意味着您有一个dist/libandlib目录或者它们应该相同?

于 2013-01-14T11:26:45.697 回答
0

您无法在 Linux 下运行该应用程序,因为您缺少本机库(.so在 linux 下调用它,.dll在 Windows 下)。

于 2013-01-14T11:27:34.203 回答