Jar在Windows中运行但在Linux中运行

时间:2013-01-14 11:22:32

标签: java linux windows jar

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

2 个答案:

答案 0 :(得分:1)

您是一个还是两个lib目录?

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

但你也有

 lib/DJNativeSwing.jar

这是否意味着您拥有dist/liblib目录,或者它们是否应该相同?

答案 1 :(得分:0)

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