[udig-devel] GeoTiffs, ImageIO, plug-ins, catastrophe

Gary W. Lucas gwlucas at sonalysts.com
Wed Apr 11 11:13:10 PDT 2007



I apologize in advance for sending a post that is a bit off topic, 
but I was referred here by folks on the GeoTools mailing list.  I 
have been trying to implement an Eclipse plug-in that interfaces with 
the GeoTools API to plot GeoTiff images and been fabulously 
unsuccessful due to problems related to class loader issues and the 
Java Image IO (JAI) classes. Literally, I've spent days on 
this...  since this issue is something that uDig has overcome (as I 
understand it, GeoTools is the basis for the uDig mapping), I was 
wondering if there was anyone here who could offer me some advice on 
how to make it work.

I started with a Java/Swing application and everything went smoothly 
(once I downloaded and installed the JAI extensions). But I have not 
been able to get an Eclipse plug-in to work.  Typically, the errors I 
run into are of the flavor shown in the the exception text shown at 
the bottom of this email.  Following one suggestion, I have looked 
into the use of buddy classloaders, but don't see how they relate to 
what should be a system-level classloader issue.

Anyway, if anyone could offer me instructions on how to make this 
stuff work or point me in the direction of a web resource that offers 
a good explanation, I would be truly grateful.

Thanks in advance,

Gary




Apr 11, 2007 1:50:38 PM org.geotools.renderer.lite.StreamingRenderer 
processStylers
SEVERE: null
java.lang.ExceptionInInitializerError
at 
org.geotools.coverage.processing.DefaultProcessor.<clinit>(DefaultProcessor.java:86)
at 
org.geotools.renderer.lite.gridcoverage2d.GridCoverageRenderer.<clinit>(GridCoverageRenderer.java:133)
at 
org.geotools.renderer.lite.StreamingRenderer.renderRaster(StreamingRenderer.java:1958)
at 
org.geotools.renderer.lite.StreamingRenderer.processSymbolizers(StreamingRenderer.java:1815)
at 
org.geotools.renderer.lite.StreamingRenderer.process(StreamingRenderer.java:1759)
at 
org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:1704)
at 
org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:724)
at 
org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:446)
at com.sonalysts.nimbusTestClient.MapGraphics$1.run(MapGraphics.java:427)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3325)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2971)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:422)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at com.sonalysts.nimbusTestClient.Application.run(Application.java:20)
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)
Caused by: java.lang.ClassCastException: 
com.sun.media.jai.imageioimpl.ImageReadWriteSpi
at 
javax.media.jai.OperationRegistry.registerServices(OperationRegistry.java:2047)
at 
javax.media.jai.ThreadSafeOperationRegistry.registerServices(ThreadSafeOperationRegistry.java:612)
at 
javax.media.jai.OperationRegistry.initializeRegistry(OperationRegistry.java:365)
at javax.media.jai.JAI.<clinit>(JAI.java:560)





Gary W. Lucas
Sonalysts, Inc.
215 Parkway North
Waterford CT 06320, USA
(860) 326-3682 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.refractions.net/pipermail/udig-devel/attachments/20070411/6bdeafb2/attachment.html


More information about the udig-devel mailing list