0

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

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

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

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

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");

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

但是,当我运行我的 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 上使用 ecent 版本的 mozilla 或最新版本的 webkit

4

2 回答 2

0

好的,加载 XURLRunner 10.0.2 有效。崩溃的应用程序是由于我的 js 代码中的堆栈溢出错误造成的。

于 2013-03-28T16:07:00.570 回答
0

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

xulrunner --register-user

也不

xulrunner --register-global

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

尝试执行上述命令将导致

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

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

无法加载库:C:\Users\david\.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

如果你能详细说明是什么解决了你的问题 - 我真的很感激。

谢谢。

于 2013-04-25T06:48:08.487 回答