如何在64位jvm上运行32位jar

ewo*_*wok 3 java jvm jar

我下载了一个java应用程序(来自android日志的桌面LogCat查看器),我正在尝试运行它.我的问题是我收到一个似乎暗示我无法在64位jvm上运行32位Java应用程序的错误.堆栈跟踪如下.

我需要指出,我无法改变消息来源.我无法访问它.我需要知道如何配置我的jvm来运行jar.我在Windows 7中运行.

> java -jar LogcatOfflineViewer_20120505.jar
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM
        at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
        at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
        at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
        at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
        at com.logcat.offline.UIThread.runUI(UIThread.java:112)
        at com.logcat.offline.Main.main(Main.java:6)
        ... 5 more
Run Code Online (Sandbox Code Playgroud)

Pet*_*rey 8

JAR不是32位或64位,它可以在任一JVM上运行.

但是,本机共享库可以是32位或64位,只能使用具有该位数的JVM运行.这是应用程序在Windows和Linux(以及其他所有操作系统AFAIK)上运行的方式的限制.无法在32位JVm上加载64位库,反之亦然.您需要将sahred库版本与JVM相匹配.