[Gvsig_desarrolladores] Problemas al recompilar extCAD en gvSIG 1.0 alpha

marcos boullón magán marcosboullon en gmail.com
Lun Ago 14 10:41:19 CEST 2006


Hola a todos,

Este fin de semana he estado echándole un vistazo al código fuente de
gvSIG 1.0 alpha, y me he encontrado con un error de empaquetamiento:
si uno recompila gvSIG 1.0 alpha desde las fuentes que se descargan
desde la página oficial, la extensión de CAD no funciona.

Al compilar no aparecen errores, pero al ejecutar gvSIG obtengo:

[...]
INFO [main] (?:?) - Ignorando el
directorio/home/[...]alpha-src/_fwAndami/gvSIG/extensiones/com.iver.cit.gvsig.cad.
Fichero 'config.xml' no encontrado
[...]

Así que investigando un poco he encontrado que el fichero build.xml
(target "copy-data-files") de esta extensión crea un directorio
_fwAndami/gvSIG/extensiones/com.iver.cit.gvsig.cad/config donde copia
config.xml, mientras que todas las demás extensiones no crean ese
directorio config, sino que su config.xml va directamente al
directorio de la extensión.

Con esta corrección ya no protesta, pero la extensión sigue sin
funcionar. Cada vez que intento crear y abrir una vista me sale un
error ("Error no capturado por el usuario"):

java.lang.LinkageError: Class com/iver/cit/gvsig/fmap/FMap violates
loader constraints
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:448)
        at com.iver.andami.plugins.PluginClassLoader.singleLoadClass(Unknown
Source)
        at com.iver.andami.plugins.PluginClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
        at com.iver.cit.gvsig.EditionUtilities.getEditionStatus(Unknown Source)
        at com.iver.cit.gvsig.InsertPointExtension.isVisible(Unknown Source)
        at com.iver.andami.plugins.ExtensionDecorator.isVisible(Unknown Source)
        at com.iver.andami.ui.mdiFrame.MDIFrame.enableControls(Unknown Source)
        at com.iver.core.mdiManager.NewSkin$FrameListener.internalFrameActivated(Unknown
Source)
        at javax.swing.JInternalFrame.fireInternalFrameEvent(JInternalFrame.java:1537)
        at javax.swing.JInternalFrame.setSelected(JInternalFrame.java:1057)
        at com.iver.core.mdiManager.NewSkin.activateJInternalFrame(Unknown
Source)
        at com.iver.core.mdiManager.NewSkin.addJInternalFrame(Unknown Source)
        at com.iver.core.mdiManager.NewSkin.addJInternalFrame(Unknown Source)
        at com.iver.core.mdiManager.NewSkin.addView(Unknown Source)
        at com.iver.cit.gvsig.gui.project.ProjectWindow.abrir(Unknown Source)
        at com.iver.cit.gvsig.gui.project.ProjectWindow.access$100(Unknown
Source)
        at com.iver.cit.gvsig.gui.project.ProjectWindow$8.actionPerformed(Unknown
Source)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
        at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
        at java.awt.Component.processMouseEvent(Component.java:5100)
        at java.awt.Component.processEvent(Component.java:4897)
        at java.awt.Container.processEvent(Container.java:1569)
        at java.awt.Component.dispatchEventImpl(Component.java:3615)
        at java.awt.Container.dispatchEventImpl(Container.java:1627)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
        at java.awt.Container.dispatchEventImpl(Container.java:1613)
        at java.awt.Window.dispatchEventImpl(Window.java:1606)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:480)
        at com.iver.andami.ui.AndamiEventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)


He encontrado que la extensión compilada adquiere doble extensión
.jar.jar (com.iver.cit.gvsig.cad.jar.jar, debido a la línea 73 del
build.xml (target "create-jar") '<jar jarfile="${dist}/${jarName}.jar"
basedir="${build}"/>', porque jarName ya fue definido con la extensión
'jar' (línea 14).

Pero ese no es el problema, porque si corrijo build.xml para que la
extensión sea com.iver.cit.gvsig.cad.jar sigo obteniendo un error muy
parecido.

DEBUG [AWT-EventQueue-1] (?:?) - Error no capturado por el usuario
java.lang.LinkageError: Class com/iver/cit/gvsig/fmap/FMap violates
loader constraints
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:448)
        at com.iver.andami.plugins.PluginClassLoader.singleLoadClass(Unknown
Source)
        at com.iver.andami.plugins.PluginClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
        at com.iver.cit.gvsig.EditionUtilities.getEditionStatus(Unknown Source)
        at com.iver.cit.gvsig.SelectionGeometryExtension.isVisible(Unknown
Source)
        at com.iver.andami.plugins.ExtensionDecorator.isVisible(Unknown Source)
        at com.iver.andami.ui.mdiFrame.MDIFrame.enableControls(Unknown Source)
        at com.iver.core.mdiManager.NewSkin$FrameListener.internalFrameActivated(Unknown
Source)
        at javax.swing.JInternalFrame.fireInternalFrameEvent(JInternalFrame.java:1537)
        at javax.swing.JInternalFrame.setSelected(JInternalFrame.java:1057)
        at com.iver.core.mdiManager.NewSkin.activateJInternalFrame(Unknown
Source)
        at com.iver.core.mdiManager.NewSkin.addJInternalFrame(Unknown Source)
        at com.iver.core.mdiManager.NewSkin.addJInternalFrame(Unknown Source)
        at com.iver.core.mdiManager.NewSkin.addView(Unknown Source)
        at com.iver.cit.gvsig.gui.project.ProjectWindow.abrir(Unknown Source)
        at com.iver.cit.gvsig.gui.project.ProjectWindow.access$100(Unknown
Source)
        at com.iver.cit.gvsig.gui.project.ProjectWindow$8.actionPerformed(Unknown
Source)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
        at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
        at java.awt.Component.processMouseEvent(Component.java:5100)
        at java.awt.Component.processEvent(Component.java:4897)
        at java.awt.Container.processEvent(Container.java:1569)
        at java.awt.Component.dispatchEventImpl(Component.java:3615)
        at java.awt.Container.dispatchEventImpl(Container.java:1627)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
        at java.awt.Container.dispatchEventImpl(Container.java:1613)
        at java.awt.Window.dispatchEventImpl(Window.java:1606)
        at java.awt.Component.dispatchEvent(Component.java:3477)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:480)
        at com.iver.andami.ui.AndamiEventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)


¿Algún gurú de java puede explicarme a qué se debe y cómo solucionarlo?

Muchas gracias,

M.

-- 
-- marcos boullón magán



Más información sobre la lista de distribución gvSIG_desarrolladores