Nimbus JDK 6u27 applet crashes when running in JRE 7u4 - applet

We have a web application that extends the Nimbus LaF library with custom painters for various controls. The applet is built against JDK 6u27, and runs as expected against JRE 6.x, however we have run into issues when running it against JRE 7u4.
We extend AbstractRegionPainter for our custom Painter classes and attempt to instantiate a PaintContext, which causes a "class not found" exception to be thrown.
We realise that Nimbus has been moved into javax.swing in Java 7, and that com.sun.java.swing.plaf.nimbus.AbstractRegionPainter (which we import) now extends javax.swing.plaf.nimbus.AbstractRegionPainter, however it does not appear that Oracle have provided similar redirection for the PaintContext inner class. The applet displays the following in the debug log:
Exception in thread "AWT-EventQueue-2" java.lang.NoClassDefFoundError: com/sun/java/swing/plaf/nimbus/AbstractRegionPainter$PaintContext
...
Caused by: java.lang.ClassNotFoundException: com.sun.java.swing.plaf.nimbus.AbstractRegionPainter$PaintContext
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Since any classes that extend AbstractRegionPainter must provide a PaintContext, this seems like a backwards compatibility bug in JRE7u4, but if anyone has any ideas about how we can fix/workaround this issue it would be greatly appreciated.

Related

Only in Eclipse: java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered?

Actually I'm introducing myself into JSF. For that reason I copied the project from this location:
http://www.concretepage.com/spring-4/spring-4-jsf-2-integration-example-using-autowired-annotation
Setup:
OpenSUSE 13.2
JDK-1.8.0_77
Gradle 3.0
Spring 4
JSF-2
Apache Tomcat 8.0.33
Eclipse MARS 2 (4.5.2)
Building this project with "gradle build" and deploy it manually to Tomcat and access an URL works just fine. So this project seems to be OK.
So I try the same procedure inside eclipse with a configurated server. But as soon as I access the same URL, I'm getting an IllegalStateException (No WebApplicationContext found: no ContextLoaderListener registered?).
java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered?
org.springframework.web.jsf.FacesContextUtils.getRequiredWebApplicationContext(FacesContextUtils.java:81)
org.springframework.web.jsf.el.SpringBeanFacesELResolver.getWebApplicationContext(SpringBeanFacesELResolver.java:90)
org.springframework.web.jsf.el.SpringBeanFacesELResolver.getBeanFactory(SpringBeanFacesELResolver.java:78)
org.springframework.beans.factory.access.el.SpringBeanELResolver.getValue(SpringBeanELResolver.java:49)
com.sun.faces.el.DemuxCompositeELResolver._getValue(Unknown Source)
com.sun.faces.el.DemuxCompositeELResolver.getValue(Unknown Source)
org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:94)
org.apache.el.parser.AstValue.getValue(AstValue.java:137)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184)
com.sun.faces.facelets.el.TagValueExpression.getValue(Unknown Source)
javax.faces.component.ComponentStateHelper.eval(Unknown Source)
javax.faces.component.ComponentStateHelper.eval(Unknown Source)
javax.faces.component.UIOutput.getValue(Unknown Source)
javax.faces.component.UIInput.getValue(Unknown Source)
com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(Unknown Source)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(Unknown Source)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(Unknown Source)
javax.faces.component.UIComponentBase.encodeEnd(Unknown Source)
javax.faces.component.UIComponent.encodeAll(Unknown Source)
javax.faces.render.Renderer.encodeChildren(Unknown Source)
javax.faces.component.UIComponentBase.encodeChildren(Unknown Source)
javax.faces.component.UIComponent.encodeAll(Unknown Source)
javax.faces.component.UIComponent.encodeAll(Unknown Source)
javax.faces.component.UIComponent.encodeAll(Unknown Source)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(Unknown Source)
com.sun.faces.application.view.MultiViewHandler.renderView(Unknown Source)
com.sun.faces.lifecycle.RenderResponsePhase.execute(Unknown Source)
com.sun.faces.lifecycle.Phase.doPhase(Unknown Source)
com.sun.faces.lifecycle.LifecycleImpl.render(Unknown Source)
javax.faces.webapp.FacesServlet.service(Unknown Source)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
I think this exception is already seen pretty often. I've tried serveral confirmed solutions, but all of them mess up the simplicity of the project. Also the manual deployment is working, so I don't think there is something wrong with the project itself. (e.g. adding a context-listener,...)
I'm pretty sure, there is something wrong with the configuration of the server or the project inside eclipse.
I compared several settings against the standalone-tomcat:
Usage of the same JRE
configuration of project's libs and deployment-assembly
eclipse launch-configuration by ps -Af
Also neither warnings nor errors are printed into the console-log.
I added a breakpoint to WebAppInitializer.onStartup. This breakpoint was not visited.
Do you have other suggestions what to check or even a solution for this?
-- Solution --
Could it be that simple?
Next day I started the enviroment again.
I added an index.jsp (I didn't configure the web.xml) started the tomcat inside eclipse. It worked.
Afterwards I removed the index.jsp restarted my complete enviroment, redeployed and it is still working.
I think the solution is a simple restart (simple eclipse-caching-problem).
I don't get the point, why adding a file should influence the bootstrap.
Thanks in advice
Mike
It seems to be a simple eclipse-chaching-problem. Here is the reason why (additionally I added this information to the question)
Next day I started the enviroment again. I added an index.jsp (I didn't configure the web.xml) started the tomcat inside eclipse. It worked. Afterwards I removed the index.jsp restarted my complete enviroment, redeployed and it is still working.
I think the solution is a simple restart.

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.

RCP with SWT.Browser and XULRunner

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.