[Gvsig_desarrolladores] Duda con Launcher de gvSIG

Raisel Castellanos Santiago rcastellanos en geosi.geocuba.cu
Mar Nov 8 16:53:12 CET 2011


Hola nuevamente César

Ante todo gracias por la rapidez de tu respuesta.
Con lo que me comentaste me has aclarado unas cuantas dudas. Ya me siento
más seguro, aunque sería bueno si me pasaras algún link donde poder
documentarme más sobre el tema de las librerías nativas, y conocer mejor por
qué  para cargar librerías nativas dinámicamente en cada sistema operativo
existe un mecanismo distinto.


!!!Muchas Gracias nuevamente, sabía que podía contar con ustedes!!!!

Saludos cordiales, Raisel


-----Original Message-----
From: gvsig_desarrolladores-bounces en listserv.gva.es
[mailto:gvsig_desarrolladores-bounces en listserv.gva.es] On Behalf Of Cèsar
Ordiñana
Sent: martes, 08 de noviembre de 2011 7:27
To: gvsig_desarrolladores en listserv.gva.es
Subject: Re: [Gvsig_desarrolladores] Duda con Launcher de gvSIG

El 08/11/11 15:43, Raisel Castellanos Santiago escribió:
> Hola César
>
> Me refiero al ejecutable que te permite arrancar gvSIG una vez instalado.
> Por mi parte me parece bien en la forma que está, o sea, un instalable 
> para cada Sistema operativo, ya que por ejemplo, en el caso de Windows 
> he visto que son necesarias algunas DLL.
> Lo que me preocupa es el tribunal de mi tesis, pues mis profesores me 
> han advertido que me pueden criticar eso de tener un ejecutable para 
> cada plataforma,  y me preguntan por qué si el proyecto está 
> desarrollado en Java no se tiene un ejecutable .Jar. Yo les he dicho 
> que gvSIG se trata de un proyecto muy grande, pero bueno, me gustaría 
> tener bien claro el por qué no se hizo un ejecutable .jar de gvSIG, 
> para así tener una base mediante la cual defenderme en caso que se diera
esa situación.
> Espero que me hayan entendido, y una vez más cuento con su ayuda.
>
> Gracias por responder
>
> Saludos, Raisel Castellanos

Hola Raisel,

Vale, está claro entonces, hablamos de los launchers para arrancar gvSIG.

Por simplificar, te comento lo de los launchers como si gvSIG no usara
librerías nativas, y lo vemos después:

Los launchers de gvSIG no son la aplicación en sí, sino sólo una utilidad
para poner en marcha gvSIG. Su función es definir algunas variables de
entorno, construir el classpath a partir de los jars del directorio lib de
la instalación de gvSIG, buscar e invocar a la máquina virtual java. En
realidad no son estrictamente necesarios, pero facilitan mucho de cara a su
instalación y que sea sencillo arrancar gvSIG.

Lo puedes ver más claro en el caso del launcher para linux, que es un shell
script, y podrás ver cómo realiza la invocación a la propia JVM. 
En windows, por no tener un .bat, eso mismo lo hace un ejecutable .exe, pero
su función es la misma.

¿Por qué no hacer un jar ejecutable como comentas? Existen varias razones:

- gvSIG se distribuye como un conjunto de archivos .jar y recursos, que no
van dentro de un jar único. Ten en cuenta además que el usuario incluso
puede elegir qué plugins instalar o no, y cada plugin tiene sus propios
archivos.

- gvSIG requiere una serie de parámetros en el momento de arrancar.

Todo esto se puede llegar a solventar, y de hecho en gvSIG 2.0 se puede
hacer ya. Si te instalas uno de los últimos builds disponibles, puedes
acceder al directorio lib de la instalación de gvSIG y arrancarlo con lo
siguiente:

   java -jar org.gvsig.andami-2.0-SNAPSHOT.jar

O directamente haciendo doble click sobre el jar anterior. Si alguien tiene
curiosidad puedo explicar lo que hemos hecho para que lo anterior funcione,
aunque ya hemos hecho algún post al respecto en el blog de gvSIG.

Ahora retomemos el tema de las librerías nativas, que es el problema
principal de cara al launcher. Si ejecutas gvSIG 2.0 como he dicho antes, en
vez de usar el launcher, no te funcionará nada que se apoye en librerías
nativas, como por ejemplo CRS y raster. Eso es debido a que las librerías
nativas se cargan dinámicamente, no están linkadas estáticamente en el
launcher de gvSIG.

Y para cargar librerías nativas dinámicamente, en cada sistema operativo
existe un mecanismo distinto, pero lo habitual es definir una variable de
entorno que apunte a su ubicación, y esa es una de las funciones que
realizan los launchers. Además el usar librerías nativas obliga a tener
instaladores específicos para cada plataforma.

A partir de gvSIG 2.0 el usuario podrá realizar una instalación si lo desea
100% java, eso si renunciando a algunas funcionalidades que se basan en el
uso de librerías nativas.

Saludos,

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


> -----Original Message-----
> From: gvsig_desarrolladores-bounces en listserv.gva.es
> [mailto:gvsig_desarrolladores-bounces en listserv.gva.es] On Behalf Of Cèsar
> Ordiñana
> Sent: martes, 08 de noviembre de 2011 3:58
> To: gvsig_desarrolladores en listserv.gva.es
> Subject: Re: [Gvsig_desarrolladores] Duda con Launcher de gvSIG
>
> El 07/11/11 12:45, raysel escribió:
>> Hola amigos desarrolladores
>>
>>
>> Les comento que actualmente me encuentro en el último año de la
>> carrera de Ingeniería Informática, y mi proyecto final de Tesis
>> consiste en un SIG que estoy desarrollando sobre gvSIG, por sus
>> facilidades de desarrollo, por sus potentes herramientas que todos
>> conocemos y además por tratarse de un sistema multiplataforma.
>>
>> Sobre este último aspecto me ha surgido una duda sobre cómo funciona
>> el launcher de gvSIG, ya que para Windows es un .EXE, para Linux un
>> .BIN, etc..., y me pregunto,
>>
>> - ¿Por qué no se creó un ejecutable .JAR?
>> - ¿Es posible hacerlo?
> Hola Raisel,
>
> ¿A qué te refieres exactamente con el término "launcher"?
>
> En el proyecto lo usamos para referirnos al ejecutable que te permite
> arrancar gvSIG una vez instalado, que en windows es un ejecutable .exe y
en
> linux un script con extensión .sh.
>
> Pero por tu comentario sobre la extensión .bin, no se si te refieres
> realmente al instalador de gvSIG, que es un .exe en windows y un .bin en
> linux.
>
> Saludos,
>
> --
> Cèsar Ordiñana Navarro
> gvSIG software architect
> DiSiD Technologies (http://www.disid.com)
_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores en listserv.gva.es
http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores




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