在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:\xulrunner10
和c:\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