在Windows 8 64位上浏览器类型SWT.MOZILLA的问题

时间:2013-03-28 15:43:30

标签: java swt mozilla

在这里和那里花了一天时间后,我决定寻求帮助,因为我无法找到解决问题的方法。

我必须创建一个嵌入浏览器的java / swt应用程序,并支持完整的HTML5。使用SWT.NONE浏览器类型(使用webkit)在linux和osx上开箱即用。 不幸的是,我在窗户上遇到了很多麻烦。

首先让我说我在Windows 8 64位上使用SWT 4.2.x。

要使SWT浏览器与webkit一起工作,我必须安装32位JVM并手动指向它(因为默认64位JVM上的-d32开关表示没有安装32位JVM)。还安装了Safari。 而且我还必须使用32位SWT库。最后,我发现它运行时我发现Safari for windows不支持拖放经验,并在此处说明:

http://www.w3schools.com/html/html5_draganddrop.asp

所以我决定改用mozilla。根据Eclipse / SWT文档,我已经下载并安装了XULRunner 1.8.0.1。我已将其解压缩到C:\ Program Files(x86)\ Mozilla \ XULRunner \ 1.8.0.1 \ xulrunner并运行xulrunner --register-user(以及--register-global)

最后在我的代码中我添加了

System.setProperty("org.eclipse.swt.browser.DefaultType", "mozilla");

我还设置了一个全局环境变量“MOZILLA_FIVE_HOME”,指向同一个XULRunner安装目录。

但是,当我运行我的java程序(32位JRE,32位SWT)时,我得到了

Exception in thread "main" org.eclipse.swt.SWTError: No more handles [MOZILLA_FIVE_HOME may not point at an embeddable GRE]

我该如何解决? 提前谢谢!

修改 我正在运行命令提示符而不是管理员而xulrunner没有注册。做管理员,工作。但是我仍然遇到麻烦:XULRunner 1.9.x似乎不支持HTML5。例如,不支持element.children。 我管理安装XULRunner 10.0.2似乎有所需的支持。但是,只要我点击嵌入式浏览器,应用程序就会崩溃,而不会在java输出控制台上打印任何错误......

我需要找到一个解决方案,以便在Windows上使用ez版本的mozilla或最新版本的webkit

2 个答案:

答案 0 :(得分:0)

好的,加载XURLRunner 10.0.2可以正常工作。崩溃的应用程序是由于我的js代码中的堆栈溢出错误。

答案 1 :(得分:0)

我也试图将XULRunner嵌入到我的eclipse插件中,没有运气(目前)。我在这里遇到了你的答案。只是想评论你执行

是不合理的
xulrunner --register-user

,也不

xulrunner --register-global

关于XULRunner 10.X,因为根据这篇文章 https://stackoverflow.com/a/7567781/1743693 删除了对整个系统安装XULRunner的支持(这是一个很好的步骤恕我直言)

尝试执行上述命令

  

“错误:无法解析application.ini”

至于我的问题:我一直遇到运行时错误:

  

无法加载库:   C:\ Users \用户大卫\ .swt \ LIB \ WIN32 \ x86_64的\ SWT-xulrunner的-win32-4236.dll   C:\ Users \ david \ .swt \ lib \ win32 \ x86_64 \ swt-xulrunner-win32.dll:不能   在AMD 64位平台上加载IA 32位.dll

我无法弄清楚这是从哪里来的。

我正在使用Windows 8 64位运行VirtualBox

如果你能详细说明解决问题的原因 - 我真的很感激。

感谢。