在Windows 64位和SWT 4.3上创建SWT.MOZILLA浏览器

我正在尝试使用SWT 4.3 64Bit在Windows 8 64Bit下创建SWT.MOZILLA类型的SWT Browser小部件。

据此,SWT 4.3应支持XULRunner 10.x或24.x上的64位版本

所以,我从这里下载了10.x和24.x 64版本,并分别在c:\xulrunner10c:\xulrunner24下解压缩。

如果我启动我的java应用程序指向xulrunner10(使用VM参数-Dorg.eclipse.swt.browser.XULRunnerPath=C:\xulrunner10 )它可以工作,但是如果我尝试使用xulrunner24(使用VM参数-Dorg.eclipse.swt.browser.XULRunnerPath=C:\xulrunner24 )我得到了以下错误:

 Exception in thread "main" org.eclipse.swt.SWTError: XPCOM error 0x80004005 at org.eclipse.swt.browser.Mozilla.error(Unknown Source) at org.eclipse.swt.browser.Mozilla.initXULRunner(Unknown Source) at org.eclipse.swt.browser.Mozilla.create(Unknown Source) at org.eclipse.swt.browser.Browser.(Unknown Source) 

我还注意到,如果指向不存在的目录,我会得到相同的错误,但文件夹c:\ xulrunner24存在并包含所有文件以及xulrunner.exe。

如何在我的swt 4.3 app中嵌入xulrunner 24.x 64bit?

得到它了! 这是SWT维基上的一个错误:xulrunner 24.x需要SWT 4.4。 我已经安装了swt-4.4M5,现在我可以嵌入xurlrunner 24 64bit

看起来这可能是Eclipse bug 411996 (相同的错误和堆栈跟踪)。

我意识到这个问题已经过时并且已经有了一个可接受的答案,但问题中提到的下载位置不再有效( http://wiki.mozilla-x86-64.com/Download ),同样的问题已经出现了发了好几次。

使用64位4.3 SWT,我能够通过使用XULRunner版本1.9.2.25运行时来修复此exception。 最初我从这里找到了下载: https : //osdn.net/projects/sfnet_runawfe/downloads/SRC%20and%20BIN%20files/extras/xulrunner-1.9.2.25-win64.zip/

但是,我还将其重新托管为xulrunner-1.9.2.25.en-US.win64.zip

我在这里的答案中发布了完整的解释: https : //stackoverflow.com/a/44848877/3300205