在我的Arch Linux,带有Google Window Builder / SWT应用程序的Eclipse上,
Exception in thread "main" org.eclipse.swt.SWTError: No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]
at org.eclipse.swt.SWT.error(SWT.java:4308)
at org.eclipse.swt.browser.Mozilla.initMozilla(Mozilla.java:1826)
at org.eclipse.swt.browser.Mozilla.create(Mozilla.java:687)
at org.eclipse.swt.browser.Browser.<init>(Browser.java:99)
at octopus.EventSummaryComposite.<init>(EventSummaryComposite.java:33)
at octopus.EventEditingComposite.<init>(EventEditingComposite.java:45)
at octopus.EventManagementController.<init>(EventManagementController.java:31)
at octopus.MainController.<init>(MainController.java:38)
at octopus.MainController.main(MainController.java:85)
我相信我需要安装XULrunner或其他东西。但是当我xulrunner
在Arch中安装时,我得到了xulrunner and eclipse are in conflict
。所以我尝试安装pywebkitgtk
。然后,我添加-Dorg.eclipse.swt.browser.DefaultType=webkit
到/usr/bin/eclipse
并且/usr/share/eclipse/eclipse.ini
不确定使用哪个。但是当我跑步时,我仍然遇到相同的错误。似乎仍未使用webkit。我怎样才能解决这个问题?
更新2
到目前为止,我尝试安装libwebkit3
。然后添加-Dorg.eclipse.swt.browser.UseWebKitGTK=true
到中/usr/share/eclipse/eclipse.ini
,我得到相同的错误。
然后我也尝试下载并解压缩xulrunner
从Mozilla浏览器,以~/xulrunner
和添加-Dorg.eclipse.swt.browser.XULRunnerPath=/home/jiewmeng/xulrunner/
到配置,还是同样的错误......
刚才在Ubuntu中,我已经安装xulrunner
并运行了…我想知道配置是否被使用了?
Arch Linux问题
更新(环境和版本)
让我知道您是否需要其他相关信息
更新(旧)
如果我将html" target="_blank">代码更改为
new Browser(this, SWT.WEBKIT)
我懂了
Exception in thread "main" org.eclipse.swt.SWTError: No more handles
at org.eclipse.swt.SWT.error(SWT.java:4308)
at org.eclipse.swt.SWT.error(SWT.java:4197)
at org.eclipse.swt.SWT.error(SWT.java:4168)
at org.eclipse.swt.browser.Browser.<init>(Browser.java:103)
at octopus.EventSummaryComposite.<init>(EventSummaryComposite.java:33)
at octopus.EventEditingComposite.<init>(EventEditingComposite.java:45)
at octopus.EventManagementController.<init>(EventManagementController.java:31)
at octopus.MainController.<init>(MainController.java:38)
at octopus.MainController.main(MainController.java:85)
根据已编辑的问题和所有勘误表,明显的问题似乎是运行的Eclipse版本与系统上安装的Mozilla或WebKit的版本之间存在版本冲突。极其简洁的文档和依赖地狱进一步混淆了这一点。
关键是要检查你运行Eclipse版本,比较它的版本xulrunner
和libwebkit
完全一样的答案,勘误建议安装在系统上,这里和常见问题记录在这里。但是,根据您遇到的困难和有关此问题的稀疏文档,您将需要采取特殊的预防措施,以确保对于严格正确的版本,您的所有依赖关系都得到满足。
鉴于您的诊断xulrunner and eclipse are in conflict
,我做了一些挖掘工作以找到解决此问题的正确方法。事实证明,此线程对此进行了详细介绍。您需要关注的重要信息:
Eclipse 3.5.2-3.6.x与xulrunner 2.0不兼容。如果这是较旧的系统,请使用xulrunner 1.9.2-15-2解决该问题。
您正在使用的Eclipse版本很可能不支持libwebkit3
。如前所述,您极有可能需要使用早期版本。
在所有情况下,使用正确的Gecko绑定构建Firefox版本都可以解决该问题,事实上,当这些绑定不存在时,会重现此错误:
还要注意,包含Gecko版本与上述Mozilla版本相关的Firefox发行版也可以与Eclipse
3.1及更高版本(仅Linux)一起使用,前提是已使用可链接的Gecko库进行了编译。重要的是要注意,从mozilla.org下载的Firefox不满足此条件,但是主要Linux发行版中包含的Firefox安装通常在没有XULRunner安装的情况下也可以。尝试使用没有可链接的Gecko库的Firefox安装将引发错误,并显示消息“没有更多句柄[NS_InitEmbedding
… error -2147221164]”。
简而言之:问题在于Arch Linux打包了Eclipse
SWT的依赖项。但是,这是一个历史悠久的问题,它表明您的Eclipse版本和系统的其余部分迫切需要软件升级… :)
编辑: 为了获得Google WindowBuilder Pro的在Arch
Linux中工作的SWT浏览器窗口小部件的副本,我创建了一个VM,并使用OP逐步完成了此过程。我能够在32位和64位版本的Arch Linux中重现该错误。
事实证明,Arch Linux的绑定libwebkit
不足,因此我继续xulrunner-1.9.2.19
从源代码构建。经过一整个
很多的必要
的修正,我的make install
版本只是工作与Eclipse。
对于任何愿意的人,下一步就是将其报告给Arch Linux。
我正在使用swt。浏览器包,允许用户在我的应用程序中使用Facebook登录。但是,当用户登录时,会话/cookie存储在磁盘上。我的目标是删除所有会话/cookie。通过浏览器清除会话。clearSessions()没有帮助,因为Facebook身份验证密钥(或类似密钥)很可能存储为cookie。 在网上和(瘦)文档中搜索了几个小时,我找不到一种方法来清除实例的cookies。 <代码>浏览器。
问题内容: 我在使用SWT浏览器组件时遇到了一些麻烦。我正在运行带有Sun的Java SE 1.6的Ubuntu 11.04 AMD64和Eclipse 3.7 我的问题是我的浏览器无法初始化。当我使用SWT.NONE标志实现时,出现错误 然后当我尝试使用SWT.MOZILLA标志时,我得到 我怀疑这部分是因为我正在使用XULRunner2,但是我更喜欢使用WebKit,在Eclipse 3.7中
问题内容: 我写了一个简单的程序。只是CTabItem固有的CTabFolder和WelcomTab。我想通过呈现我的html的浏览器填充我的WelcomeTab。在WelcomeTab的init()方法上,我创建了一个浏览器,但是当程序要构造它时,出现此错误 … 另外,我在基于Arch-Linux的KDE上使用Eclipse 3.7,因为我在各处搜索到此错误时都发现线程受限,所以这是一个简单的程
问题内容: 我正在尝试在Windows 8 64Bit和SWT 4.3 64Bit下创建SWT.MOZILLA类型的SWT浏览器小部件。 根据此,SWT 4.3应支持XULRunner的10.x的或24.x 64位版本 因此,我从此处下载了10.x和24.x 64版本,并分别在和下解压缩。 如果我启动指向xulrunner10的Java应用程序(使用VM参数),则它可以工作,但是,如果我尝试使用x
我在我的应用程序中使用SWT浏览器。我需要在浏览器中的超文本标记语言页面上运行脚本。但是脚本是在页面完全加载之前运行的。所以我如何让应用程序等待,直到浏览器完成加载。我曾经尝试过这样的事情。 但是这样不行! 这类似于JavaSWT浏览器:等待动态页面完全加载,但没有解决方案。
Bootstrap支持多种多样的现代浏览器以及设备,还支持一些较早的浏览器。具体支持哪一些,请看下面内容。下面还列出了一些已知的漏洞的详细信息。 支持的浏览器 Bootstrap 支持所有的主流浏览器和平台的最新的、稳定的版本。 在 Windows 中, **我们支持 Internet Explorer 9-11 **。下面提供了更多详细的支持信息。 移动设备 总的来说,Bootstrap支持所有