Hola a todos,
aquí estoy de vuelta para ver como podemos descargarnos los fuentes de uno de los proyectos de ejemplo de gvSIG y como podemos compilarlo y entrar en depuración de él.
En este artículo usaré como IDE Netbeans 8, que es el IDE que uso habitualmente para desarrollar con gvSIG desde hace un tiempo. Mas adelante me instalaré un Eclipse y, en otro artículo, contare como se haría con él. De todos modos si eres un desarrollador familiarizado con Eclipse no debería serte difícil trasladar las ideas que vaya exponiendo a él.
Ojo, esto no pretende ser un tutorial sobre NetBeans, solo contar los pasos para poder descargar y depurar un plugin de gvSIG con él.
Voy a suponer que ya has seguido los pasos descritos en el artículo “Como descargar y compilar gvSIG 2.1.0 en Linux y Windows“ y que ya tenemos las herramientas de base que se comentan ahí instaladas y configuradas.
Para seguir los pasos de este artículo necesitaremos acceso a internet. En general para compilar gvSIG necesitaremos acceso a internet. Y además necesitaremos:
- Un instalable de gvSIG, en mi caso “gvSIG-desktop-2.1.0-2262-testing-win-x86-standard-withjre.exe”
- Un instalable de NetBeans
Lo primero instalaremos el IDE, NetBeans.
Yo me lo descargué de la web oficial de NetBeans directamente, de la sección descargas:
Nos encontraremos con varias distribuciones disponibles para descargar:
- Java SE
- Java EE
- C/C++
- HTML5 & PHP
- All
Con la distribución “Java SE” será suficiente para compilar la gran mayoría de los proyectos de gvSIG (con la excepción de los proyectos que requieren nativas, que están fuera del alcance de este artículo).
Simplemente la descargaremos y procederemos a instalarla.
Durante la instalación nos solicitará básicamente dos cosas, dónde vamos a instalarlo y donde está el JDK a utilizar. En este último caso seleccionaremos el JDK que instalamos tal como comenté en “Como descargar y compilar gvSIG 2.1.0 en Linux y Windows“.
Una vez que ya tengamos instalado NetBeans, instalaremos gvSIG. Procederemos a hacer una instalación normal, pero no lo instalaremos en “Archivos de programa”; yo recomiendo instalarlo dentro de la carpeta c:/devel, donde ya descargamos los fuentes de gvSIG. Yo lo he instalado en:
c:/devel/gvsig/2.1.0-2262
El instalarlo fuera de “Archivos de programa”, es porque en mi instalación de Windows mi usuario no tiene permisos de administración y si lo hago ahí luego voy a tener algunos problemas cuando intente desplegar los binarios de mi plugin sobre esa instalación. Para escribir en la carpeta c:/devel, que he creado yo, no tendré problemas de permisos.
Una vez tengamos estas dos cosas instaladas, retocaremos el fichero “.gvsig-devel.properties” para que apunte a la instalación de gvSIG que acabamos de hacer en “c:/devel”.
Pues ya solo nos faltara una cosilla mas. En la distribución actual para Windows de gvSIG-desktop no se incluye en lanzador gvSIG.sh de gvSIG. Este solo se incluye en la distribución de Linux (en próximas distribuciones también lo incluiremos para Windows). Bueno, de momento no esta, así que tenemos dos opciones, si ya hemos compilado “org.gvsig.desktop” podemos cogerlo de la carpeta “org.gvsig.desktop/target/product” o si no lo tenemos a mano descargarlo desde:
Y lo dejaremos en la carpeta donde instalamos gvSIG, junto al “gvsig-desktop.exe”.
Una vez tenemos ya estas tres cosas, podemos pasar a arrancar NetBeans.
Una vez arrancado descargaremos el proyecto “org.gvsig.landregistryviewer” y lo compilaremos. Lo descargaremos desde la url:
Para hacerlo, accederemos al menú:
Team->Subversion->Checkout…
Nos presentará el siguiente cuadro de dialogo:
En el que introduciremos en el campo “Repository url” el valor de la url que he indicado antes en la que se encuentra el proyecto de ejemplo “org.gvsig.landregistryviewer”. Y le daremos a “Next”. Nos presentará la siguiente página del asistente en la que deberemos introducir la carpeta en la que queremos descargar el proyecto. En nuestro caso introduciremos “c:/devel”, y pulsaremos en “Finish”.
Terminada la descarga del proyecto nos informará de los proyectos maven que hay en el proyecto descargado y nos preguntará si queremos abrir alguno. El cuadro de diálogo será algo parecido al de la siguiente imagen:
Pulsaremos en el botón “Open project…” para indicarle que proyectos queremos abrir y nos mostrara el siguiente diálogo.
Seleccionaremos el proyecto “org.gvsig.landregistryviewer” y pulsaremos en el botón “Open”.
Al intentar cargar el proyecto la primera vez es fácil que se produzca algún error debido a que no estén descargadas algunas dependencias, mostrándonos un dialogo similar a este:
Nos limitaremos a pulsar en “Close”.
Ahora simplemente nos limitaremos a compilar el proyecto que acabamos de descargar. Para ello lo seleccionaremos en la vista de “proyectos” y pulsaremos en el botón “Build project” de la barra de botones.
En la consola inferior irá mostrando los mensajes de compilación y cuando termine tendremos compilado y desplegado nuestro plugin sobre la instalación de gvSIG.
Hasta aquí, hemos visto como preparar el entorno de trabajo, descargar y compilar el plugin. Si queremos ver en acción nuestro plugin simplemente arrancaremos Console2, iremos a la carpeta de la instalación de gvSIG, c:/devel/gvsig/2.1.0-2262, y ejecutaremos el gvSIG.sh.
$ cd c:/devel/gvsig/2.1.0-2262
$ ./gvSIG.sh
Vamos a ver como haríamos para depurar nuestro plugin.
Abriremos el subproyecto “org.gvsig.landregistryviewer.app.mainplugin”.
Podría suceder que el IDE no se haya percatado que ya tiene todas las dependencias que necesita y que descargo al compilar el proyecto. Si esto es así, nos presentará el siguiente cuadro de diálogo.
Si nos presenta este diálogo, pulsaremos en “Resolve Problems…” para que actualice las dependencias. Nos presentará el siguiente diálogo:
Simplemente pulsaremos en “Resolve…” y esperaremos a que termine de actualizar el proyecto. Cuando termine debería desaparecer la señal de atención de la lista de problemas, así que cerraremos el dialogo pulsando el botón “Close”.
Ahora cargaremos la clase LandRegistryViewerExtension y pondremos un punto de ruptura al inicio del método CreateViewWindow. Para ello simplemente haremos doble clic sobre el número de línea.
Una vez tengamos ya puesto el punto de ruptura, pasaremos a Console2 y nos dispondremos a arrancar gvSIG, pero le pasaremos los parámetros “–debug –pause”.
Esto arranca la JVM activando el debug para que podamos conectarnos a ella.
Es posible que según la configuración del firewall nos muestre un mensaje o incluso que no funcione esto. Deberemos asegurarnos que permitimos a la aplicación java.exe acceder al puerto 8765.
Una vez llegado aquí, volvemos al NetBeans, y nos enganchamos a gvSIG en modo depuración.
Nos pedirá los datos de conexión…
Y al darle a “OK” continuará la ejecución de gvSIG en modo depuración. Como hemos puesto un punto de ruptura se nos parará en él y podremos depurar nuestro plugin.
Si necesitamos ver el código de gvSIG, simplemente pulsamos Ctrl-O y tecleamos el nombre de la clase que queremos localizar. Por ejemplo, si quisiésemos poner un punto de ruptura en la creación del proyecto, teclearemos Ctrl-O y “DefaultProject” …
Y pulsaremos en el botón “OK”.
Si no nos muestra el código fuente (que se lo descargue automáticamente depende de la configuración que tengamos en NetBeans), podremos pulsar en el botón “Attach Sources…” y pulsaremos en el botón “Download” del diálogo que nos aparezca.
Y cuando se haya descargado los fuentes que necesitemos, cerraremos la ventana pulsando en “OK”. Nos mostrará el código de la clase “DefaultProject” y podremos poner un punto de ruptura en su constructor.
Bueno, y hasta aquí llego por hoy…
Todo lo que he ido contando ha sido sobre un Windows 7. Los desarrolladores de Linux deberían poder seguirlo sin problemas, solo cambiando la ruta de c:/devel por la que utilicéis para dejar los fuentes.
Para los desarrolladores de Eclipse, los pasos son muy similares, lo mas complicado puede ser la configuración del soporte de maven que NetBeans trae ya de base. Por lo demás puede ser muy similar.
Me ha quedado un poco largo, sobre todo por las capturas de pantalla, pero he creído que podían ayudar a ir siguiendo el artículo.
Espero que os haya sido de utilidad.
Un saludo a todos.
Pingback: Como descargar y compilar gvSIG 2.1.0 en Linux y Windows | gvSIG blog
Pingback: Como descargar y compilar un plugin de gvSIG 2.1.0 | gvSIG blog
Pingback: Compilando y depurando un plugin de ejemplo para gvSIG 2.1.0 desde un IDE (NetBeans). | Geo-How-To News
Pingback: Conocimiento Abierto » Blog Archive » Compilando y depurando un plugin de ejemplo para gvSIG 2.1 desde Eclipse
Pingback: How to download and compile a gvSIG 2.1.0 plugin | gvSIG blog
Pingback: Compiling and debugging an example plugin for gvSIG 2.1.0 from an IDE (NetBeans) | gvSIG blog
Un detalle importante, el fichero “.gvsig-devel.properties” al que hace referencia Joaquín es un fichero de texto que debe contener algo como:
gvsig.product.folder.path=/home/user/gvSIG-desktop/gvSIG-desktop-2.1.0_build2268
(reemplazando esta ruta por la ruta en la que hayamos instalado gvSIG).
En Linux este fichero se debe crear en el HOME del usuario (si no existe): ~/.gvsig-devel.properties
En Windows también, aunque en este caso la carpeta de usuario varía dependiendo de la versión de Windows (p. ej: C:\Users\user\, C:\Documents and Settings\user, etc).
Pingback: How to download and compile gvSIG 2.1.0 on Linux and Windows | gvSIG blog
Muchas gracias por estos tutoriales que nos facilitan tanto la vida!!