我有以下问题:
我尝试在Java Swing中嵌入YT视频。因此,我从这个网站https://sourceforge.net/projects/djproject/?source=typ_redirect安装了DJProject
我添加了以下外部JAR: sw-4.3-win32-x86.jar DJNativeSwing.jar DJNativeSwing-SWT.jar
但是我得到了这个异常消息:
NativeSwing[1]: Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM
NativeSwing[1]: at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
NativeSwing[1]: at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
NativeSwing[1]: at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
NativeSwing[1]: at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
NativeSwing[1]: at java.lang.Class.forName0(Native Method)
NativeSwing[1]: at java.lang.Class.forName(Unknown Source)
NativeSwing[1]: at org.eclipse.swt.graphics.Device.<clinit>(Unknown Source)
NativeSwing[1]: at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface$OutProcess.runNativeSide(SWTNativeInterface.java:1273)
NativeSwing[1]: at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface.main_(SWTNativeInterface.java:1461)
NativeSwing[1]: at chrriis.dj.nativeswing.swtimpl.NativeInterface.main(NativeInterface.java:224)
NativeSwing[2]: Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM
NativeSwing[2]: at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
NativeSwing[2]: at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
NativeSwing[2]: at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
NativeSwing[2]: at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
NativeSwing[2]: at java.lang.Class.forName0(Native Method)
NativeSwing[2]: at java.lang.Class.forName(Unknown Source)
NativeSwing[2]: at org.eclipse.swt.graphics.Device.<clinit>(Unknown Source)
NativeSwing[2]: at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface$OutProcess.runNativeSide(SWTNativeInterface.java:1273)
NativeSwing[2]: at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface.main_(SWTNativeInterface.java:1461)
NativeSwing[2]: at chrriis.dj.nativeswing.swtimpl.NativeInterface.main(NativeInterface.java:224)
NativeSwing[3]: Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM
NativeSwing[3]: at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
NativeSwing[3]: at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
NativeSwing[3]: at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
NativeSwing[3]: at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
NativeSwing[3]: at java.lang.Class.forName0(Native Method)
NativeSwing[3]: at java.lang.Class.forName(Unknown Source)
NativeSwing[3]: at org.eclipse.swt.graphics.Device.<clinit>(Unknown Source)
NativeSwing[3]: at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface$OutProcess.runNativeSide(SWTNativeInterface.java:1273)
NativeSwing[3]: at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface.main_(SWTNativeInterface.java:1461)
NativeSwing[3]: at chrriis.dj.nativeswing.swtimpl.NativeInterface.main(NativeInterface.java:224)
Exception in thread "main" java.lang.RuntimeException: java.net.SocketException: Connection reset
at chrriis.dj.nativeswing.swtimpl.core.OutProcessSocketsMessagingInterface.openChannel(OutProcessSocketsMessagingInterface.java:67)
at chrriis.dj.nativeswing.swtimpl.core.MessagingInterface.initialize(MessagingInterface.java:57)
at chrriis.dj.nativeswing.swtimpl.core.OutProcessSocketsMessagingInterface.<init>(OutProcessSocketsMessagingInterface.java:32)
at chrriis.dj.nativeswing.swtimpl.core.OutProcessSocketsMessagingInterface$SwingOutProcessSocketsMessagingInterface.<init>(OutProcessSocketsMessagingInterface.java:162)
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface$OutProcess.createOutProcessMessagingInterface(SWTNativeInterface.java:1072)
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface$OutProcess.createOutProcessCommunicationChannel(SWTNativeInterface.java:811)
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface.open_(SWTNativeInterface.java:342)
at chrriis.dj.nativeswing.swtimpl.NativeInterface.open(NativeInterface.java:100)
at tatil.main.main(main.java:16)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.ObjectInputStream$PeekInputStream.read(Unknown Source)
at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
at chrriis.dj.nativeswing.swtimpl.core.OutProcessSocketsMessagingInterface.openChannel(OutProcessSocketsMessagingInterface.java:65)
... 8 more我该如何解决这个问题?
发布于 2018-08-05 23:32:28
如异常消息中清楚显示的
线程"main“java.lang.UnsatisfiedLinkError中出现
异常:无法在64位java.lang.UnsatisfiedLinkError上加载32位SWT库
安装32位JDK,因为32位SWT库不能在64位运行时运行。
从下面的链接下载x84,删除现有的java安装并安装下载的java安装。
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
或者检查这个
https://stackoverflow.com/questions/51695395
复制相似问题