El 2 de marzo de 2018, 9:47, Iago Alonso Alonso <ialo...@enxenio.es>
escribió:

> Hola, hace un tiempo realicé dos extensiones de edición y funcionaban, el
> problema es que no sé qué he podido cambiar y ahora ya no funcionan. El
> error que aparece en el log es:
>
> INFO main org.gvsig.tools.util.impl.DefaultServiceLoader - Loading
> interface org.gvsig.tools.library.Library implementations from
> 'org.gvsig.andami.plugins.PluginClassLoader@b73e7a
> (es.dicoruna.giseiel.editing)' class loader (using java.util.ServiceLoader
> class).
> ERROR main org.gvsig.tools.util.impl.DefaultServiceLoader - Can't load
> service 
> (es.udc.lbd.giseiel.editing.lib.prov.multilinea.MultilineaEditingLibrary)
> from org.gvsig.andami.plugins.PluginClassLoader@b73e7a
> (es.dicoruna.giseiel.editing).
> java.util.ServiceConfigurationError: org.gvsig.tools.library.Library:
> Provider es.udc.lbd.giseiel.editing.lib.prov.redigitalizarPoligono.
> RedigitalizarPoligonoEditingLibrary not found
>     at java.util.ServiceLoader.fail(ServiceLoader.java:239)
>     at java.util.ServiceLoader.access$300(ServiceLoader.java:185)
>     at java.util.ServiceLoader$LazyIterator.nextService(
> ServiceLoader.java:372)
>     at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
>     at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
>     at org.gvsig.tools.util.impl.DefaultServiceLoader.postJDK16Load(
> DefaultServiceLoader.java:232)
>     at org.gvsig.tools.util.impl.DefaultServiceLoader.load(
> DefaultServiceLoader.java:101)
>     at org.gvsig.tools.library.impl.DefaultLibrariesInitializer.
> findLibraries(DefaultLibrariesInitializer.java:77)
>     at org.gvsig.tools.library.AbstractLibrariesInitializer.
> addLibrariesOfClassLoader(AbstractLibrariesInitializer.java:194)
>     at org.gvsig.tools.library.AbstractLibrariesInitializer.loadLibraries(
> AbstractLibrariesInitializer.java:136)
>     at org.gvsig.tools.library.AbstractLibrariesInitializer.initialize(
> AbstractLibrariesInitializer.java:85)
>     at org.gvsig.tools.library.AbstractLibrariesInitializer.
> fullInitialize(AbstractLibrariesInitializer.java:115)
>     at org.gvsig.andami.Launcher.initializeLibraries(Launcher.java:782)
>     at org.gvsig.andami.Launcher.doMain(Launcher.java:570)
>     at org.gvsig.andami.Launcher.main(Launcher.java:395)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:62)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:497)
>     at org.gvsig.andamiupdater.Updater.launchApp(Updater.java:89)
>     at org.gvsig.andamiupdater.Updater.main(Updater.java:67)
>
> Y he revisado el código pero no recuerdo dónde se le indica a gvSIG que se
> registre una extensión. En cada extensión tengo el correspondiente
> "Library, Provider y ProviderFactory" que he visto en otras extensiones de
> gvSIG de las cuales seguí el patrón para hacer estas dos.
>
> ¿Alquien sabe qué he podido tocar o cambiar sin darme cuenta para que
> ahora salga este error y no funcionen las extensiones?
>
>
Hola Iago.
Por lo que puedo ver en el error, yo diria que cuando se estaban
inicializando
las librerias del plugin "es.dicoruna.giseiel.editing" se ha encontrado con
que
le fataba la clase:

"es.udc.lbd.giseiel.editing.lib.prov.redigitalizarPoligono.RedigitalizarPoligonoEditingLibrary"


Para que la inicializacion de las librerias, "Library", de gvSIG se realice
estamos usando
"java.util.ServiceLoader". Este servicio de java busca los recursos
"META-INF/services/org.gvsig.tools.library.Library" que pueda encontrar en
el classpath
y carga las clases que ahi se indican.

El error que esta dando es que entre los jars de tu plugin
"es.dicoruna.giseiel.editing"
tienes un fichero "META-INF/services/org.gvsig.tools.library.Library"
en el que figura una linea:

es.udc.lbd.giseiel.editing.lib.prov.redigitalizarPoligono.RedigitalizarPoligonoEditingLibrary

Para asi indicarle que debe cargar esa clase. Y resulta que en el classpath
no se encuentra la clase.

¿ Es posible que hayas borrado esa clase y se te haya olvidado quitarla del
fichero "META-INF/services/org.gvsig.tools.library.Library" que toque ?

o... ¿ Igual has renombrado la clase y no has ido a renombrarla en el
fichero ?
Los refactoring del IDE no tocan ese fichero.

o... ¿ Te puede faltar desplegar el jar donde este en el plugin
"es.dicor?una.giseiel.editing" ?

¿ Es posible que la clase este en otro plugin y te falte añadir la
dependencia
en el config.xml de "es.dicor?una.giseiel.editing" ?
Si fuese esto ultimo, yo eliminaria la entrada en el fichero del plugin
"es.dicor?una.giseiel.editing" y la dejaria en el plugin en que estuviese.


Bueno, esto ya es elucubrar. Con la poca info que dispongo no puedo
contarte mas.

Un saludo
Joaquin




> Un saludo y gracias.
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores@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
jjdelce...@gvsig.com
jjdelce...@gvsig.org
gvSIG Association
www.gvsig.com
www.gvsig.org
_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores@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

Responder a