[Gvsig_desarrolladores] Problema al inicializar fmap

Cèsar Ordiñana cordinyana en gvsig.com
Jue Jul 14 12:15:43 CEST 2011


Hola,

El 14/07/11 10:25, Víctor González escribió:
> Hola,
>
> He hecho unos cambios en el proyecto, que dependía de un jar que tenía 
> solo en el repositorio local y por eso te daba error al hacer el mvn 
> install. He añadido también el tag <scope>compile</compile> a todo, he 
> hecho mvn -U install para asegurarme de que está todo actualizado, y 
> he ejecutado con el log configurado. La salida es esta:
>
> 10:21:37,557 INFO  [impl.DefaultServiceLoader.postJDK16Load()]
>   Using the java.util.ServiceLoader to load the interface 
> org.gvsig.tools.library.Library implementations
> 10:21:37,692 INFO  [library.AbstractLibrariesInitializer.logLibraries()]
>   Found 25 libraries:
> - org.gvsig.compat.CompatLibrary (api) - org.gvsig.compat.CompatLibrary
> - org.gvsig.compat.se.SECompatLibrary (impl) - 
> org.gvsig.compat.CompatLibrary
> - org.gvsig.tools.ToolsLibrary (api) - org.gvsig.tools.ToolsLibrary
> - org.gvsig.metadata.MetadataLibrary (api) - 
> org.gvsig.metadata.MetadataLibrary
> - org.cresques.ProjectionLibrary (api) - org.cresques.ProjectionLibrary
> - org.cresques.impl.CresquesCtsLibrary (impl) - 
> org.cresques.ProjectionLibrary
> - org.gvsig.fmap.geom.GeometryLibrary (api) - 
> org.gvsig.fmap.geom.GeometryLibrary
> - org.gvsig.fmap.geom.impl.DefaultGeometryLibrary (impl) - 
> org.gvsig.fmap.geom.GeometryLibrary
> - org.gvsig.fmap.dal.DALLibrary (api) - org.gvsig.fmap.dal.DALLibrary
> - org.gvsig.fmap.dal.impl.DALDefaultImplLibrary (impl) - 
> org.gvsig.fmap.dal.DALLibrary
> - org.gvsig.fmap.dal.store.memory.MemoryStoreLibrary (impl) - 
> org.gvsig.fmap.dal.store.memory.MemoryStoreLibrary
> - org.gvsig.fmap.dal.store.dbf.DBFLibrary (null)
> - org.gvsig.fmap.dal.DALFileLibrary (impl) - 
> org.gvsig.fmap.dal.DALFileLibrary
> - org.gvsig.fmap.dal.store.dxf.DXFLibrary (impl) - 
> org.gvsig.fmap.dal.store.dxf.DXFLibrary
> - org.gvsig.fmap.dal.store.shp.SHPLibrary (null)
...

Justo aquí está el problema, se está inicializando la DBFLibrary antes 
que la DALFileLibrary. No debería porque la DBFLibrary tiene puesto como 
dependencia la DALFileLibrary. Acabo de hacer un deploy del proyecto 
libFMap_dalfile, por si acaso no estaba actualizado el repositorio de maven.

Prueba de nuevo con un mvn -U install para que se baje los últimos jars 
y nos dices que tal.

Saludos,

-- 
Cèsar Ordiñana Navarro
gvSIG software architect
DiSiD Technologies (http://www.disid.com)


> Un saludo,
> Víctor.
>
> El 13 de julio de 2011 14:58, Cèsar Ordiñana <cordinyana en gvsig.com 
> <mailto:cordinyana en gvsig.com>> escribió:
>
>     Hola de nuevo,
>
>     Víctor, he probado a descargar tu proyecto y hacer un mvn install
>     de él, pero no me funciona. Supongo que no tendrás los últimos
>     cambios subidos, o que sólo compilas desde eclipse. En cualquier
>     caso te comento los cambios que he hecho en el pom.xml para que
>     funcione:
>
>     - Añadir la configuración del plugin de compilación para que
>     compile código 1.5 (sino me daba error con los @Override y los
>     generics):
>
>     <build>
>     <pluginManagement>
>     <plugins>
>     <plugin>
>     <groupId>org.apache.maven.plugins</groupId>
>     <artifactId>maven-compiler-plugin</artifactId>
>     <version>2.0.2</version>
>     <configuration>
>     <source>1.5</source>
>     <target>1.5</target>
>     </configuration>
>     </plugin>
>     </plugins>
>     </pluginManagement>
>     </build>
>
>     - Añadir a todas las dependencias de compilación el tag:
>     <scope>compile</scope>.  Al menos a todas las de gvSIG, porque el
>     import del org.gvsig.core.maven.dependencies las configura como de
>     runtime por defecto.
>
>
>     Saludos,
>
>     -- 
>     Cèsar Ordiñana Navarro
>     gvSIG software architect
>     DiSiD Technologies (http://www.disid.com)
>
>
>
>     El 13/07/11 14:49, Cèsar Ordiñana escribió:
>
>         Hola Víctor,
>
>         Me da la sensación que hay algún error en el orden de
>         inicialización de las librerías. Pásame la salida de la
>         aplicación con el log4j configurado, ya que ahí se muestra el
>         orden y podremos ver si es ese el problema.
>
>         Para configurar el log4j rápidamente te paso un archivo
>         log4j.xml que deberás añadir a tu proyecto. Para ello, desde
>         eclipse por ejemplo, abres el menu File > New > Source folder,
>         creas la carpeta "src/main/resources" y dentro de ella copia
>         el archivo adjunto.
>
>         Vuelve a lanzar la aplicación y nos envías el log.
>
>         Además de eso, por asegurarnos que tienes los últimos
>         snapshots de las librerías de DAL, lanza un mvn -U install en
>         el proyecto, y luego vuelve a probar a lanzar la aplicación.
>
>         Saludos,
>
>         -- 
>         Cèsar Ordiñana Navarro
>         gvSIG software architect
>         DiSiD Technologies (http://www.disid.com)
>
>
>
>         El 13/07/11 10:34, Víctor González escribió:
>
>             Hola,
>
>             Estoy tratando de envolver los lectores de gvSIG en GGL2
>             para el GSoC [1] y me he encontrado con un problema que no
>             sé solucionar. En concreto, estoy tratando de usar el
>             lector de SHP desde un proyecto propio. Para eso, tengo un
>             pom.xml y un main que lee de un SHP y muestra por consola.
>             Os lo podéis bajar de aquí:
>
>             $ svn co http://xp-dev.com/svn/ggl2/ggl2/libs/ggl-io
>
>             El caso es que hago checkout, mvn eclipse:eclipse, importo
>             el proyecto en Eclipse, ejecuto y en la primera
>             instrucción (new
>             DefaultLibrariesInitializer().fullInitialize()) me salta
>             la siguiente LibraryException:
>
>             Exception in thread "main" Error in the initialization of
>             the Library: org.gvsig.fmap.dal.store.dbf.DBFLibrary
>                 at
>             org.gvsig.fmap.dal.store.dbf.DBFLibrary.doPostInitialize(DBFLibrary.java:111)
>                 at
>             org.gvsig.tools.library.AbstractLibrary.postInitialize(AbstractLibrary.java:175)
>                 at
>             org.gvsig.tools.library.AbstractLibrariesInitializer.initializeLibraries(AbstractLibrariesInitializer.java:133)
>                 at
>             org.gvsig.tools.library.AbstractLibrariesInitializer.postInitialize(AbstractLibrariesInitializer.java:95)
>                 at
>             org.gvsig.tools.library.AbstractLibrariesInitializer.postInitialize(AbstractLibrariesInitializer.java:85)
>                 at
>             org.gvsig.tools.library.AbstractLibrariesInitializer.fullInitialize(AbstractLibrariesInitializer.java:101)
>                 at
>             org.gearscape.ggl.readers.shp.SHPReader.main(SHPReader.java:52)
>             Caused by: Error in the initialization of the Library:
>             %(library)
>                 at
>             org.gvsig.tools.library.LibraryException.<init>(LibraryException.java:87)
>                 ... 7 more
>
>             He investigado un poco más y la salida de
>             e.getCause().printStackTrace() es:
>
>             Contained exceptions:
>             EXCEPTION 1: java.lang.NullPointerException
>                 at
>             org.gvsig.fmap.dal.store.dbf.DBFLibrary.doPostInitialize(DBFLibrary.java:102)
>                 at
>             org.gvsig.tools.library.AbstractLibrary.postInitialize(AbstractLibrary.java:175)
>                 at
>             org.gvsig.tools.library.AbstractLibrariesInitializer.initializeLibraries(AbstractLibrariesInitializer.java:133)
>                 at
>             org.gvsig.tools.library.AbstractLibrariesInitializer.postInitialize(AbstractLibrariesInitializer.java:95)
>                 at
>             org.gvsig.tools.library.AbstractLibrariesInitializer.postInitialize(AbstractLibrariesInitializer.java:85)
>                 at
>             org.gvsig.tools.library.AbstractLibrariesInitializer.fullInitialize(AbstractLibrariesInitializer.java:101)
>                 at
>             org.gearscape.ggl.readers.shp.SHPReader.main(SHPReader.java:53)
>
>             En concreto, es el método
>             DALFileLocator.getFilesystemServerExplorerManager() el que
>             devuelve nulo en la instrucción
>                        
>             DALFileLocator.getFilesystemServerExplorerManager()
>                                 .registerProvider(DBFStoreProvider.NAME,
>                                         DBFStoreProvider.DESCRIPTION,
>                                        
>             DBFFilesystemServerProvider.class);
>             de DBFLibrary.
>
>             Y una vez llegado aquí, no he sabido qué hacer. El caso es
>             que el mismo proyecto, recién bajado y ejecutado, a mí me
>             falla pero hay personas a quien no. No tengo muy claro qué
>             estoy haciendo mal.
>
>             Gracias de antemano,
>             Víctor.
>
>             [1] http://xp-dev.com/trac/ggl2/wiki/gvSIG_Integration
>
>

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20110714/a6b2aa21/attachment.htm 


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