Page 1 of 1

Oxygen 17.0.2 : NoClassDefFoundError: de/schlichtherle/io/Fi

Posted: Tue Jun 30, 2015 6:03 pm
by Vince
Hi,

I want to migrate our standalone Java application to Oxygen 17.0.2 sdk.
I encounterd this exception :

Code: Select all

java.lang.NoClassDefFoundError: de/schlichtherle/io/File
at ro.sync.exml.editor.notifications.content.d.g(Unknown Source) ~[oxygen-17.0.2.jar:na]
at ro.sync.exml.editor.o.c$1.c(Unknown Source) ~[oxygen-17.0.2.jar:na]
at ro.sync.exml.editor.r.fb$_b.actionPerformed(Unknown Source) ~[oxygen-17.0.2.jar:na]
at javax.swing.Timer.fireActionPerformed(Timer.java:313) ~[na:1.8.0_45]
at javax.swing.Timer$DoPostEvent.run(Timer.java:245) ~[na:1.8.0_45]
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ~[na:1.8.0_45]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) ~[na:1.8.0_45]
at java.awt.EventQueue.access$500(EventQueue.java:97) ~[na:1.8.0_45]
at java.awt.EventQueue$3.run(EventQueue.java:709) ~[na:1.8.0_45]
at java.awt.EventQueue$3.run(EventQueue.java:703) ~[na:1.8.0_45]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_45]
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) ~[na:1.8.0_45]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) ~[na:1.8.0_45]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) [na:1.8.0_45]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [na:1.8.0_45]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [na:1.8.0_45]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [na:1.8.0_45]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [na:1.8.0_45]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [na:1.8.0_45]
Caused by: java.lang.ClassNotFoundException: de.schlichtherle.io.File
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_45]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_45]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_45]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_45]
... 19 common frames omitted{code}

After I include "oxygen-truezip-6" dependency, the exception no longer appears.
But this dependency is optional if I refer to oxygen-applet-sample.
Why this error ? What is the trigger ? and how to disable it ?

Thank you for your answers.

Regards,
Vince

Re: Oxygen 17.0.2 : NoClassDefFoundError: de/schlichtherle/i

Posted: Wed Jul 01, 2015 8:56 am
by Radu
Hi Vince,

It seems that in the Oxygen 17 SDK a dependency between the author component code and the True ZIP libraries was added. So for now you will need to add this extra dependency resulting in one more JAR library being added to the application.
We'll try to remove this dependency in Oxygen 17.1.

Regards,
Radu

Re: Oxygen 17.0.2 : NoClassDefFoundError: de/schlichtherle/i

Posted: Wed Jul 01, 2015 10:27 am
by Vince
Hi Radu,

Thanks for this answer.

I understand adding this dependency resolve the problem. But, for my information, what is this event ? What are the effects or impacts ?

Regards,
Vince

Re: Oxygen 17.0.2 : NoClassDefFoundError: de/schlichtherle/i

Posted: Wed Jul 01, 2015 10:50 am
by Radu
Hi Vince,

Basically the status bar (which in the Author Component can be created using the ro.sync.ecss.extensions.api.component.ComponentProvider.getStatusComponent() has been enhanced in the Oxygen standalone to also have a notification area in which users find notifications about various webinars we host.
The same status bar component is used in the author component, it has been disabled to download notifications from the Oxygen web site but it still has this reference in its Java code to the truezip library that it uses in order to use resources from a ZIP file containing notifications downloaded from our web server.

Regards,
Radu

Re: Oxygen 17.0.2 : NoClassDefFoundError: de/schlichtherle/i

Posted: Wed Jul 01, 2015 11:18 am
by Vince
Ok it's clear now, thank you for this information.

Vince