[Gvsig_desarrolladores] No se encuentra SHPStoreParameters en una extesión

Joaquin Jose del Cerro Murciano jjdelcerro en gvsig.org
Vie Feb 17 20:21:16 CET 2017


Hola,
la idea, como en muchos sitios en gvSIG, es que no dependas de una
implementacion para usar
una funcionalidad.
En tu caso estas tratando de depender de la implementacion del proveedor de
shape que hay
ahora mismo en gvSIG, pero que podria cambiar en otra version. Mi
recomendacion seria
que en lugar del codigo que has puesto usases algo como:

  DataManager manager = ...
  DataParameters params = manager.createStoreParameters("Shape");
  params.setDynValue("shpfile",fichero);

No es tan evidente pero deberia abstraerte del problema.

Puedes ver los parametros que acepta el shape (a usar en el setDynValue)
para la
2.3.1 final en:

https://redmine.gvsig.net/redmine/projects/gvsig-desktop/repository/entry/tags/org.gvsig.desktop-2.0.157/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.shp/src/main/resources/org/gvsig/fmap/dal/store/shp/SHPParameters.xml

Y los del DBF (de los que extiende) en:

https://redmine.gvsig.net/redmine/projects/gvsig-desktop/repository/entry/tags/org.gvsig.desktop-2.0.157/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.dbf/src/main/resources/org/gvsig/fmap/dal/store/dbf/DBFParameters.xml

Es muy probable que tengas que indicar tambien el CRS para poder abrir el
shape.


Lo de las versiones... uff deberias tener mucho cuidado de nunca poner un
numero
de version en ningun artefacto de gvSIG y dejar que se usen los que haya
declarados en el
pom de "org.gvsig.desktop", si no puedes empezar a tener incongruencias con
las
versiones como te esta pasando, y aunque llegue a compilar, te encontraras
que
puede no funcionar en tiempo de ejecucion por que linkaste con algua version
que no esta en la distribucion de gvSIG para la que quieres compilar.

Si necesitas usar un artefacto de gvSIG para el que no esta declarada la
version
en el pom de "org.gvsig.desktop", mi consejo es que preguntes como deberias
hacerlo
para evitar problemas.

Un saludo
Joaquin



El 17 de febrero de 2017, 13:11, Iago Alonso Alonso <ialonso en enxenio.es>
escribió:

> Buenas, el error anterior se debe a que la dependencia:
>
> <dependency>
>    <groupId>org.gvsig</groupId>
>    <artifactId>org.gvsig.tools.lib</artifactId>
>    <version>3.0.24</version>
> </dependency>
>
> No tiene la clase Tag.class, la he actualizado a la versión 3.0.92 ya no
> sale el error al hacer en "mvn clean install", pero en ejecución, al
> intentar leer los ficheros SHP me sigue apareciendo:
>
> Exception in thread "Thread-7" java.lang.NoClassDefFoundError:
> org/gvsig/fmap/dal/store/shp/SHPStoreParameters
>         at .........
> Caused by: java.lang.ClassNotFoundException: Class
> org.gvsig.fmap.dal.store.shp.SHPStoreParameters not found through the
> plugin "el plugin"
>         at org.gvsig.andami.plugins.PluginClassLoader.loadClass(
> PluginClassLoader.java:224)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>         ... 2 more
> Caused by: java.lang.ClassNotFoundException: org.gvsig.fmap.dal.store.shp.
> SHPStoreParameters
>         at org.gvsig.andami.plugins.PluginClassLoader.loadOtherClass(
> PluginClassLoader.java:254)
>         at org.gvsig.andami.plugins.PluginClassLoader.loadClass(
> PluginClassLoader.java:222)
>         ... 3 more
>
> ¿Por qué ocurre?
>
> Un saludo.
>
> El 16-02-2017 05:46 PM, Iago Alonso Alonso escribió:
>
> He probado a cambiar la versión indicada, 2.0.33, por la que se
> corresponde con gvSIG 2.3.1, que es la 2.0.157, y ahora obtengo en la línea:
>
> params = (SHPStoreParameters) manager.createStoreParameters("Shape");
>
> el error:
>
> error: cannot access Tags
>
> El cual no tengo muy claro qué quiere decir...
>
>
>
> Un saludo.
>
>
>
> El 16-02-2017 05:22 PM, Iago Alonso Alonso escribió:
>
> Hola, tengo un problema a la hora de intentar procesar ficheros SHP en una
> extesión para gvSIG 2.3.1. Cuando se intentan ejecutar estas dos secuencias:
>
> params = (SHPStoreParameters) manager.createStoreParameters("Shape");
> //manager es del tipo org.gvsig.fmap.dal.DataManager
> ((SHPStoreParameters) params).setFile(fichero); //params es del tipoorg.
> gvsig.fmap.dal.DataParameters
>
> Obtengo este error (he suprimido trazas no relevantes):
>
> Exception in thread "Thread-7" java.lang.NoClassDefFoundError:
> org/gvsig/fmap/dal/store/shp/SHPStoreParameters
>
> Caused by: java.lang.ClassNotFoundException: Class
> org.gvsig.fmap.dal.store.shp.SHPStoreParameters not found through the
> plugin **la extensión**
>
> Caused by: java.lang.ClassNotFoundException: org.gvsig.fmap.dal.store.shp.
> SHPStoreParameters
> at org.gvsig.andami.plugins.PluginClassLoader.loadOtherClass(
> PluginClassLoader.java:254
> at org.gvsig.andami.plugins.PluginClassLoader.loadClass(
> PluginClassLoader.java:222)
> ... 3 more
>
> He mirado en el POM.xml de la extensión y en él está añadida la referencia:
>
> <dependency>
>      <groupId>org.gvsig</groupId>
>      <artifactId>org.gvsig.fmap.dal.file.shp</artifactId>
>      <version>2.0.33</version>
> </dependency>
>
> Por lo que no entiendo muy bien por qué no encuentra la clase
> "SHPStoreParameters" ubicada en "org.gvsig.fmap.dal.file.shp".
>
> Un saludo.
>
>
>
>
>
>
>
>
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse
> de baja en esta lista, acuda a la siguiente dirección:
> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse
> de baja en esta lista, acuda a la siguiente dirección:
> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse
> de baja en esta lista, acuda a la siguiente dirección:
> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>
>


-- 
--------------------------------------
Joaquin Jose del Cerro Murciano
Development and software arquitecture manager at gvSIG Team
jjdelcerro en gvsig.com
jjdelcerro en gvsig.org
gvSIG Association
www.gvsig.com
www.gvsig.org
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20170217/2f0e5a92/attachment.html>


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