在这里和那里花了一天时间后,我决定寻求帮助,因为我无法找到解决问题的方法。
我必须创建一个嵌入浏览器的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
答案 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
如果你能详细说明解决问题的原因 - 我真的很感激。
感谢。