2

我无法让 swt 应用程序在 Mac OSX Snow Leopard 上运行。

Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-cocoa-3557 or swt-cocoa in swt.library.path, java.library.path or the jar file
    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.internal.cocoa.NSThread.isMainThread(Unknown Source)
    at org.eclipse.swt.graphics.Device.<init>(Unknown Source)
    at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
    at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
    at com.astrobetty.geotag.Hello.main(Hello.java:12)

我已将 -Dswt.library.path= 和 -Djava.library.path 语句添加到“VM 参数”手上,还尝试将它们设置为 Eclipse 运行配置页面的“环境”部分中的变量。

我已验证我的 .jar 文件位于我指定的路径中。如果我查看 .jar 内部,它似乎包含这些库:

     102 Feb 12 13:21 META-INF
     183 Feb 12 13:21 external.xpt
   37104 Nov 17  2009 libswt-awt-cocoa-3557.jnilib
  287228 Nov 17  2009 libswt-cocoa-3557.jnilib
  548252 Nov 17  2009 libswt-pi-cocoa-3557.jnilib
  313420 Nov 17  2009 libswt-xulrunner-cocoa-3557.jnilib
    136 May 23 22:19 org
     13 Feb 12 13:21 version.txt

关于如何让它发挥作用的任何想法?有可能吗?

我将 swt 添加为“依赖项目”,详见此处

http://www.eclipse.org/swt/eclipse.php

它似乎确实在编辑时找到了 .jar 文件(我对 swt 类和方法进行了语法检查等。)

4

2 回答 2

2

我在android中遇到了同样的问题,就我而言,我已经解决了这样的问题:

从下载“swt-3.7.1-cocoa-macosx-x86_64.zip”

http://archive.eclipse.org/eclipse/downloads/drops/R-3.7.1-201109091335/

并将“swt.jar”放入“android-sdk-macosx/tools/lib/x86_64”目录。您可以安全地覆盖现有的 swt.jar。

于 2013-06-26T02:54:18.190 回答
0

添加“依赖项目”在 IDE 中有效,但不适用于部署。您可能在 OSGi 环境中...我不确定您是如何部署产品的,但如果您创建一个 .product 文件(New--> Product Configuration),请包含您的插件和 SWT 插件,然后使用该产品进行出口,我相信它会为您解决。

于 2010-05-24T18:05:16.927 回答