[EvA] Failed compilation of EvA2 with icedtea6
Marcel Kronfeld
marcel.kronfeld at uni-tuebingen.de
Tue Feb 23 11:10:35 CET 2010
Hi again,
I have found some time to look into the issue. I found that the
sun.beans.editors are only used in a few cases to decide on which viewer
to instantiate. By handling that a bit differently, we can avoid to use
the sun-editors. The corresponding changes will be part of the next
release, which I hope to upload by the end of this week.
There will also be no more JPEGCodec required. Thanks for the proposal.
Best regards,
Marcel Kronfeld
Oliver Borm wrote:
> thanks for your reply. Yes using the sun jdk 1.6 would solve the
> problem for the moment, but in further releases (sun jdk 1.7) this
> code will be removed. Furthermore these classes are not standard
> java API, they are just packaged by sun. That means also that your
> code will only run on x86 and amd64 platforms. This problem is also
> valid on ubuntu and with the gcj compiler, so it is not a gentoo
> specific one. So if you would like that your code also run in further
> VM's you should think about rewriting them and using standard java.
> As alternative for the jpeg implementation you could use,
> javax.imageio.plugins.jpeg; see also for example here:
>
> http://developer.classpath.org/mediation/ClasspathMigration#head-d4ee9efe53a641e29ffdcd96e985bf38bbc671c1
>
>
> But the real problem are the errors, which came from the
> sun.beans.editors.*:
>
> [javac] /tmp/work/src/eva2/gui/PropertyBoolSelector.java:19: cannot
> find symbol
> [javac] symbol : class BoolEditor
> [javac] location: package sun.beans.editors
> [javac] import sun.beans.editors.BoolEditor;
>
> I've found out that rt.jar from icedtea6 contains the editor classes,
> but I have no idea how to make them visible to the java compiler:
>
> jar tvf /opt/icedtea6-bin-1.6.2/jre/lib/rt.jar | grep editor 1622 Tue
> Nov 10 21:08:40 CET 2009 sun/beans/editors/BooleanEditor.class 1087
> Tue Nov 10 21:08:40 CET 2009 sun/beans/editors/ByteEditor.class 6187
> Tue Nov 10 21:17:06 CET 2009 sun/beans/editors/ColorEditor.class 653
> Tue Nov 10 21:08:40 CET 2009 sun/beans/editors/DoubleEditor.class
> 3892 Tue Nov 10 21:08:40 CET 2009 sun/beans/editors/EnumEditor.class
> 1075 Tue Nov 10 21:08:40 CET 2009 sun/beans/editors/FloatEditor.class
> 6226 Tue Nov 10 21:17:06 CET 2009 sun/beans/editors/FontEditor.class
> 657 Tue Nov 10 21:08:40 CET 2009
> sun/beans/editors/IntegerEditor.class 1069 Tue Nov 10 21:08:40 CET
> 2009 sun/beans/editors/LongEditor.class 581 Tue Nov 10 21:08:40 CET
> 2009 sun/beans/editors/NumberEditor.class 1093 Tue Nov 10 21:08:40
> CET 2009 sun/beans/editors/ShortEditor.class 1660 Tue Nov 10 21:17:06
> CET 2009 sun/beans/editors/StringEditor.class
>
> If I want to run the binary jar from the website (as compiling the
> sources does not work) with VM from icedtea6, I run into the
> following problems:
>
> $ java -cp EvA2Base.jar eva2.client.EvAClient Exception in thread
> "AWT-EventQueue-0" java.lang.NoClassDefFoundError:
> sun/beans/editors/IntEditor at
> eva2.gui.PropertyEditorProvider.installEditors(PropertyEditorProvider.java:155)
> at eva2.gui.JParaPanel.makePanel(JParaPanel.java:44) at
> eva2.gui.EvATabbedFrameMaker.makePanel(EvATabbedFrameMaker.java:56)
> at eva2.client.EvAClient.loadSpecificModule(EvAClient.java:776) at
> eva2.client.EvAClient.loadModuleFromServer(EvAClient.java:696) at
> eva2.client.EvAClient.init(EvAClient.java:334) at
> eva2.client.EvAClient.access$0(EvAClient.java:296) at
> eva2.client.EvAClient$1.run(EvAClient.java:253) at
> java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at
> java.awt.EventQueue.dispatchEvent(EventQueue.java:602) at
> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
> at
> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
> at
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
> at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
> at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
> at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
> Caused by: java.lang.ClassNotFoundException:
> sun.beans.editors.IntEditor at
> java.net.URLClassLoader$1.run(URLClassLoader.java:217) at
> java.security.AccessController.doPrivileged(Native Method) at
> java.net.URLClassLoader.findClass(URLClassLoader.java:205) at
> java.lang.ClassLoader.loadClass(ClassLoader.java:319) at
> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at
> java.lang.ClassLoader.loadClass(ClassLoader.java:264) at
> java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332) ... 16
> more
>
> Anyhow I will try to use the binary from the website in the
> commandline without the GUI in the mean time.
>
> Best regards, Oliver Borm
> ___________________________________________________________ NEU: Mit
> WEB.DE DSL über 1000,- ¿ sparen! http://produkte.web.de/go/02/
>
--
Dipl.-Inform. Marcel Kronfeld
Wilhelm-Schickard-Institute for Computer Science
University of Tuebingen
Sand 1 - A305, 72076 Tuebingen, Germany
Phone: (+49/0)-7071-29-78987, Fax: (+49/0)-7071-29-5091
EMail: marcel.kronfeld at uni-tuebingen.de
More information about the EvA
mailing list