我正在用SWT.Browser (SWT.MOZILLA)开发一个RCP应用程序(SWT.MOZILLA):
Browser browser = new Browser(parent, SWT.MOZILLA);它在旧的XULRunner 3.6.23和描述为这里的安装中运行得很好
xulrunner.exe --register-global我想使用新的XULRunner 8.x,但是正如前面提到的,安装XULRunner的旧方法被删除了。
因此,我以编程方式添加了XULRunner路径:
System.setProperty("org.eclipse.swt.browser.XULRunnerPath", "Path\\To\\xulrunner_8.x"); 但是,当我启动我的应用程序时,我会得到以下错误
org.eclipse.swt.SWTError: XPCOM error -2147467261那么,将XULRunner 8.x嵌入到RCP应用程序并避免此错误的首选方法是什么?
发布于 2012-04-29 22:06:29
从月食3.8 / 4.2 M6开始,org.eclipse.swt.browser现在支持嵌入XULRunner 10.0.x,但是您必须发布XULRunner 10运行时,并按照常见问题中的描述显式地指向它
...
System.setProperty("org.eclipse.swt.browser.XULRunnerPath", "path\to\xulrunner_10");
...可以从XULRunner 10运行时从ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/10.0/runtimes/下载
JavaXPCOM
Mozilla不再维护JavaXPCOM,而是作为格兰特·加耶德
浏览器不需要JavaXPCOM才能工作,它只是将其暴露给希望通过getWebBrowser()方法自己使用它的应用程序。
Linux
由于XULRunner 10的存在,XULRunner 10目前无法在Linux下运行。
发布于 2013-05-21 07:10:51
对于Windows,您也可以使用Internet作为浏览器,直到eclipse正确地支持xulrunner (将在4.3.x版本中)。
为IE:
只要指定
-Dorg.eclipse.swt.browser.DefaultType=ie,mozilla在eclipse.ini。
您可以阅读更多关于它的这里。
发布于 2015-02-11 12:45:15
我在windows7(64位)上运行,并有了新的xulrunner vresion:31.0.0 ([http://wiki.mozilla-x86-64.com/Download][1])
但是当我试图给出一条路径时,它给了我错误System.setProperty("org.eclipse.swt.browser.XULRunnerPath","path\to\xulrunner_31\");
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at chrriis.dj.nativeswing.swtimpl.core.MessagingInterface.processCommandResult(MessagingInterface.java:342)
at chrriis.dj.nativeswing.swtimpl.core.MessagingInterface.syncSend(MessagingInterface.java:329)
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface.syncSend_(SWTNativeInterface.java:392)
at chrriis.dj.nativeswing.swtimpl.NativeInterface.syncSend(NativeInterface.java:104)
at chrriis.dj.nativeswing.swtimpl.Message.syncSend(Message.java:64)
at chrriis.dj.nativeswing.swtimpl.CommandMessage.syncExec(CommandMessage.java:55)
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeComponent.runSync(SWTNativeComponent.java:201)
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeComponent.createNativePeer(SWTNativeComponent.java:1009)
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeComponent.access$17(SWTNativeComponent.java:989)
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeComponent$12.run(SWTNativeComponent.java:882)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:738)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:699)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:708)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeComponent$CMN_createControl.run(SWTNativeComponent.java:663)
at chrriis.dj.nativeswing.swtimpl.CommandMessage.runCommand(CommandMessage.java:61)
at chrriis.dj.nativeswing.swtimpl.NativeInterface.runMessageCommand(NativeInterface.java:172)
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface.runMessageCommand(SWTNativeInterface.java:1429)
at chrriis.dj.nativeswing.swtimpl.core.MessagingInterface.runMessage(MessagingInterface.java:121)
at chrriis.dj.nativeswing.swtimpl.core.MessagingInterface.processReceivedMessages(MessagingInterface.java:106)
at chrriis.dj.nativeswing.swtimpl.core.MessagingInterface.access$2(MessagingInterface.java:94)
at chrriis.dj.nativeswing.swtimpl.core.MessagingInterface$2$2.run(MessagingInterface.java:442)
at org.eclipse.swt.widgets.RunnableLock.run(Unknown Source)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Unknown Source)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface$OutProcess.runNativeSide(SWTNativeInterface.java:1352)
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface.main_(SWTNativeInterface.java:1461)
at chrriis.dj.nativeswing.swtimpl.NativeInterface.main(NativeInterface.java:224)
Caused by: 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.<init>(Unknown Source)
at chrriis.dj.nativeswing.swtimpl.components.core.NativeWebBrowser.createControl(NativeWebBrowser.java:431)
... 19 more没有这一点,它显示IE9.0或与另一个xulunner,我不确定从哪里得到,这是很好的工作,但显示火狐5.0版。你知道我怎么用最新的火狐版本来更新吗?
https://stackoverflow.com/questions/7890994
复制相似问题