RCP with SWT.Browser and XULRunner - swt

I'm developing an RCP application (Windows) with SWT.Browser (SWT.MOZILLA):
Browser browser = new Browser(parent, SWT.MOZILLA);
It's working fine with the old XULRunner 3.6.23 and the installation described here:
xulrunner.exe --register-global
I want to use the new XULRunner 8.x, but as mentioned here the old way to install XULRunner was removed.
So I added the XULRunner-Path programmatically:
System.setProperty("org.eclipse.swt.browser.XULRunnerPath", "Path\\To\\xulrunner_8.x");
But when I start my application, I'll get the following error
org.eclipse.swt.SWTError: XPCOM error -2147467261
So what's the preferred way to embed XULRunner 8.x with an RCP application and avoiding this error?

As of Eclipse 3.8 / 4.2 M6 the org.eclipse.swt.browser now supports embedding XULRunner 10.0.x, but you must ship a XULRunner 10 runtime and explicitly point at it as described in the FAQ:
...
System.setProperty("org.eclipse.swt.browser.XULRunnerPath", "path\to\xulrunner_10");
...
The XULRunner 10 runtime can be downloaded from ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/10.0/runtimes/
JavaXPCOM
Mozilla is not maintaining JavaXPCOM anymore, but as Grant Gayed says:
The Browser does not require JavaXPCOM in order for it to work, it just exposes
it to apps that want to use it themselves through its getWebBrowser() method.
Linux
XULRunner 10 will currently not run under Linux because of Mozilla bug 720682.

For Windows you can also use the Internet-Explorer as browser until eclipse supports xulrunner correctly (will be in a 4.3.x version).
For IE:
just specify
-Dorg.eclipse.swt.browser.DefaultType=ie,mozilla
at the eclipse.ini.
You can read more about it here.

I am running on windows7(64 bit) and have new xulrunner vresion:31.0.0 ([http://wiki.mozilla-x86-64.com/Download][1])
But when i try to give a path it given me error
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
Without that it showing IE 9.0 or with another xulunner which i not confirm from where get this is working fine but showing firefox version 5.0. Any idea how i can update with latest firefox version.

Eclipse_4.4.2 now supports XULRunner24.0, you can try this version.

Related

How to update Eclipse GWT Plugin 2.6.0 to higher version

There seems to be an annoying bug with GWT 2.6.0. Since The current version in the repository for Eclipse is 2.6.0 I was wondering how I could update to 2.6.1 or 2.7.0 myself.
Is there a way to do that?
The error I am dealing with:
java.lang.NoSuchMethodError: com.google.gwt.dev.cfg.ModuleDefLoader.loadFromClassPath(Lcom/google/gwt/core/ext/TreeLogger;Ljava/lang/String;Z)Lcom/google/gwt/dev/cfg/ModuleDef;
at com.google.gwt.dev.shell.designtime.HostedModeSupportImpl.loadModule(HostedModeSupportImpl.java:85)
at com.google.gwt.dev.shell.designtime.HostedModeSupportImpl.createModuleSpaceHost(HostedModeSupportImpl.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
..
which gets thrown as I open a file with the GWT Designer.
You need to download and unzip the SDK manually, then tell Eclipse where to find it: https://developers.google.com/eclipse/docs/using_sdks#adding-sdks
…but GWT Designer is deprecated and won't work with newer versions of GWT. 2.6.1 is the last that works.

getting error on .p12 certification creation for blackberry web works app?

getting this error using command prompt and using graphical tool also,
how to solve it, please help me.
Exception in thread "main" java.lang.NoSuchMethodError: sun.security.x509.CertAndKeyGen.getSelfCertificate(Lsun/security/x509/X500Name;Ljava/util/Date;J)Ljava/security/cert/X509Certificate;
at net.rim.device.codesigning.keytool.KeyTool.a(Unknown Source)
at net.rim.device.codesigning.keytool.KeyTool.if(Unknown Source)
at net.rim.device.codesigning.keytool.KeyTool.a(Unknown Source)
at net.rim.device.codesigning.keytool.KeyTool.main(Unknown Source)
Are you running 32bit, or 64bit java jdk? If it's 64bit, that is very likely part (if not all) of the issue.

Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3346 in java.library.path

I trying to run a j2me project by KEmulator with Elipse + MJT + Jave_ME_SDK_3.0 in Mac OS , it display an error like this:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3346 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1758)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1045)
at emulator.i.a(Unknown Source)
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
at emulator.ui.swt.b.<init>(Unknown Source)
at emulator.Emulator.main(Unknown Source)
The project is success to run on Windows system ,How can I fix this problem?
That error suggests it is not able to find the SWT native Windows libraries. Given that you are using MacOS I'm not sure what good they would be anyway. Perhaps the emulator uses them?
The libraries are bundled into the Windows version of SWT. Do you have an swt.jar on your classpath? What happens if you try running with the Windows version from: http://www.eclipse.org/swt/

Jar cannot be opened on different Computer ("Can not find main class")

Today I programmed myself a Little game, which I compiled into a jar through Eclipse - I made sure its a executable jar, or runnable jar or however you want to call it.
I've sent the jar to a friend of mine, but oddly he's not able to open it.
He's always receiving the "Can not find main class" error, which shouldn't pop up since it works perfectly for me. I've already googled but was not able to find a answer.
If you're interested, you can take a look here, if it works for you:
http://www.file-upload.net/download-3939961/WidzDeluxe.jar.html
Now the question I have is kind of obvious I guess, is the error only for him or do you all have the same problem? What's the cause of it?
If people wish, I also upload the code.
You have compiled class files bundled inside this jar with a different (higher) version of Java. Presumably it was Java 1.7 and the friend of yours is trying to open it with Java 1.6.
Here is the stacktrace I received trying to open your executable jar with Java 1.6.0_21:
Exception in thread "main" java.lang.UnsupportedClassVersionError: NewJFrame : Unsupported major.min
or version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: NewJFrame. Program will exit.
One possible solution that came to my ming would be to set the compliance level to let's say 6.0 in Java Compiler settings in Eclipse. That should to the trick.
I had this same problem, found I was compiling the program for Java 1.7. I ended up updating Java on all my computers that I was running it on and it worked great.

PMD 3.2.6 Issue With Eclipse 3.2

I have installed PMD 3.2.6 plugin on eclipse 3.2 using the steps mentioned in
http://pmd.sourceforge.net/integrations.html#eclipse
However, I get following error if I try to open the PMD views or try to PMD code check.
Note that I did re-start my eclipse after installation.
Also it worked fine when I installed it in Eclipse 3.3. Unfortunately I have to stick to Eclipse 3.2 due to some other constraints.
Error: Unable to create view: An unexpected exception was thrown.
java.lang.NullPointerException
at net.sourceforge.pmd.eclipse.ui.views.PriorityFilter.<init>(Unknown Source)
at net.sourceforge.pmd.eclipse.ui.views.ViolationOverview.init(Unknown Source)
at org.eclipse.ui.part.ViewPart.init(ViewPart.java:122)
at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:305)
at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:197)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:566)
at org.eclipse.ui.internal.WorkbenchPage$ActivationList.setActive(WorkbenchPage.java:3915)
at org.eclipse.ui.internal.WorkbenchPage.restoreState(WorkbenchPage.java:2929)
at org.eclipse.ui.internal.WorkbenchWindow.restoreState(WorkbenchWindow.java:1936)
at org.eclipse.ui.internal.Workbench.doRestoreState(Workbench.java:2873)
at org.eclipse.ui.internal.Workbench.access$14(Workbench.java:2821)
at org.eclipse.ui.internal.Workbench$20.run(Workbench.java:1697)
at org.eclipse.ui.internal.Workbench.runStartupWithProgress(Workbench.java:1437)
at org.eclipse.ui.internal.Workbench.restoreState(Workbench.java:1695)
at org.eclipse.ui.internal.Workbench.access$12(Workbench.java:1666)
at org.eclipse.ui.internal.Workbench$18.run(Workbench.java:1545)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.ui.internal.Workbench.restoreState(Workbench.java:1489)
at org.eclipse.ui.internal.WorkbenchConfigurer.restoreState(WorkbenchConfigurer.java:183)
at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:702)
at org.eclipse.ui.internal.Workbench.init(Workbench.java:1101)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1863)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:422)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
Anyone faced this issue before?
That's an old version of Eclipse! If PMD isn't supported with that version, you can run PMD at the command line or as an Ant script. Then the plugin integration fails to be a factor.