我正在尝试运行here中找到的Enhanced JavaScript Bridge示例。

我创建了一个新项目,并通过以下方式添加了对SWT的引用:

项目(右键单击)->属性->库->添加变量->配置变量->新建

但是,我无法运行该项目。我得到的错误取决于我所引用的SWT库:


org.eclipse.swt.win32.win32.x86_64_3.103.2.v20150203-1351.jar:错误是



  无法实例化浏览器:
  org.eclipse.swt.internal.mozilla.init.XPCOMInit.GREVersionRange_sizeof()I



swt-3.6.1-win32-win32-x86_64\swt.jar:错误是



  无法实例化浏览器:没有更多句柄[无法检测
  XULRunner注册使用]


看来我在使用XULRunner或Mozilla浏览器时遇到问题。我尝试通过在控制台的相应文件夹中运行xulrunner.exe --register-global来使用不同的XULRunner版本(10、18、24)。它没有帮助。我不知道该怎么办

我的系统是:


Windows 7 64位
蚀月神4.4.2

最佳答案

好的,所以我设法通过以下方式使XULRunner工作:

1)下载XULrunner 24.0。您可以在这里找到我使用的版本:


64位:https://osdn.net/projects/sfnet_runawfe/downloads/SRC%20and%20BIN%20files/extras/xulrunner-1.9.2.25-win64.zip/
32位:http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/24.0b10/runtimes/xulrunner-24.0b10.en-US.win32.zip


2)在Java代码中,我创建了一个Composite来包含我的Browser对象。

在其构造函数中,将路径设置为在步骤1中下载的xulrunner文件夹,然后实例化浏览器:

public class MyBrowserComp extends Composite {

    private String pathToXulrunner = "C:\\path\\to\\xulrunner";`

    private Browser browser;

    public MyBrowserComp(..) {
        System.setProperty("org.eclipse.swt.browser.XULRunnerPath", pathToXulrunner);
        browser = new Browser(this, SWT.MOZILLA);
    }
}

10-07 23:22