【发布时间】:2011-11-19 14:58:20
【问题描述】:
我将 Java 更改为 32 位模式,以允许 SWT 运行,当我调试时,它运行良好。但是当我使用 Eclipse 导出 .jar 时,它会显示此错误。
我已经添加了 chmod 777。我做错了什么?
这是控制台结果:
20/11/2011 12:10:36 AM [0x0-0x3d89d86].com.apple.JarLauncher[73111] Exception in thread "main"
20/11/2011 12:10:36 AM [0x0-0x3d89d86].com.apple.JarLauncher[73111] java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM
20/11/2011 12:10:36 AM [0x0-0x3d89d86].com.apple.JarLauncher[73111] at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
20/11/2011 12:10:36 AM [0x0-0x3d89d86].com.apple.JarLauncher[73111] at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
20/11/2011 12:10:36 AM [0x0-0x3d89d86].com.apple.JarLauncher[73111] at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
20/11/2011 12:10:36 AM [0x0-0x3d89d86].com.apple.JarLauncher[73111] at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
20/11/2011 12:10:36 AM [0x0-0x3d89d86].com.apple.JarLauncher[73111] at com.testing.SWTApp.main(SWTApp.java:54)
清单如下:
Manifest-Version: 1.0
Class-Path: .
Main-Class: com.testing.SWTApp
【问题讨论】:
-
控制台的错误信息是什么?
-
如何查看清单文件?我什么也没做。
-
使用控制台结果更新问题。
-
要获取 MANIFEST.MF 文件,您需要从 jar 文件中提取它。例如
unzip app.jar META-INF/*。您需要在您最喜欢的文本编辑器中查看该文件,以查看它是否具有 Main-Class 属性。从命令行执行应该类似于java -jar app.jar -
实际上在 Mac 上,您也可以使用
open app.jar从命令行启动,您的对话框和@Perception 所指的“控制台”是 /Applications/Utilities/Console.app 而不是终端.app
标签: java swt executable executable-jar