SWT.WebKit无法加载:不再处理 - [必须安装Safari才能使用SWT.WEBKIT样式的浏览器]

时间:2012-03-21 16:07:15

标签: java browser webkit swt

我在使用SWT.WEBKIT作为基于SWT的Java应用程序的浏览器时遇到问题,现在我在新机器上启动应用程序时得到了这个堆栈跟踪:

Exception in thread "main" org.eclipse.swt.SWTError: No more handles [Safari mus
t be installed to use a SWT.WEBKIT-style Browser]
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.browser.WebKit.create(Unknown Source)
        at org.eclipse.swt.browser.Browser.<init>(Unknown Source)
        [...]

现在,我确实按照SWT FAQ中关于如何使用Webkit的所有步骤进行了操作;安装了Safari,JVM是32位(就像Safari一样),它运行在Windows XP 64Bit机器上。奇怪的是它在另一台WindowsXP 64bit机器上工作正常!关于如何调试这个的任何想法?

编辑:似乎有一个关于Java 1.7.0u6及更高版本的Bug提供了他们自己的libxml2.dll,Java试图在Webkit自己的libxml2.dll之前加载它。查看此错误报告了解更多信息:https://bugs.eclipse.org/bugs/show_bug.cgi?id=388469

2 个答案:

答案 0 :(得分:6)

原因是Apple从

移动了最新的Safari安装程序中的“Apple Application Support”文件夹

C:\Program Files (x86)\Common Files\Apple\Apple Application Support\

C:\Program Files (x86)\Common Files\Apple\

SWT根本找不到它(see this bug)。

在添加新文件夹的SWT支持之前,有两种解决方法:

  • 安装Apple QuickTime或iTunes - 他们仍在C:\Program Files (x86)\Common Files\Apple\
  • 中放置“Apple Application Support”
  • 或者将APPLE_INSTALLATION_DIR\Apple Application Support\添加到PATH环境变量

答案 1 :(得分:1)

事实证明,问题是Safari安装没有安装Apple Application Support;仔细比较两台机器后,我找到了一台安装程序,将其复制并运行,瞧,错误消失了。

有人对此有所了解吗?此外,任何人都可以帮助我使用这个安装程序的(合法)链接,以供将来参考和更新(不,谷歌没有帮助)?