我有一个在OSX上开发的SWT应用程序,因此它包含Mac版本的SWT库。SWT:在Windows上运行在OSX上开发的应用程序
现在我需要在Windows机器上运行此应用程序。我的应用程序导出到一个.jar文件,但是当我尝试执行Windows中的罐子,我得到:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa
der.java:58)
Caused by: java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-cocoa-4236 in java.library.path
no swt-cocoa in java.library.path
Can't load library: \\psf\Home\.swt\lib\win32\x86\swt-cocoa-4236.dll
Can't load library: \\psf\Home\.swt\lib\win32\x86\swt-cocoa.dll
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 display.StoragePickupDisplay.open(StoragePickupDisplay.java:70)
at display.StoragePickupDisplay.main(StoragePickupDisplay.java:58)
... 5 more
我已经加入SWT库的Windows版本,但没有有所作为。我需要Mac库来继续开发。我怎样才能解决这个问题?
从这个错误日志,我明白,你不必在你的java路径必要的罐子?你的Windows环境中的java路径在哪里?尝试将必要的jar复制到您的Windows路径或尝试将它们添加到您的构建路径。 – cgon
您是否在Windows中设置了CLASSPATH?如果你设置它可能你没有添加你的jar文件到类路径。它已经说:“无法加载SWT库。” java库之间没有区别。每个库都可以在mac,linux和windows上运行。因为他们正在使用JVM。 – kodmanyagha
@kodmanyagha错误,SWT依赖于平台,因为它使用OS本机代码。您必须提供正确版本的库。 – Baz