Compilar gvSIG desde eclipse
- Introduccion
- Instalar el JDK (linux)
- Instalacion de maven
- Instalar eclipse
- Configurar el JDK para eclipse
- Configurar el cliente de SVN
- Instalar el plugin de maven para eclipse (m2e)
- Compilar gvSIG
- Ejecutar gvSIG
- Algunas consideraciones y pequeños trucos
Introduccion
Aqui podra encontrar como compilar gvsig-desktop 2.1.0 a partir de los fuentes usando eclipse. Para ello veremos:
- Como instalar un JDK
- Como instalar eclipse
- Como configurar el JDK en eclipse.
- Como instalar y configurar un plugin de acceso a SVN en eclipse
- Como instalar y configurar el plugin m2e en eclipse.
- Como compilar descargar, compilar y ejecutar gvSIG
Ademas de instalar un jdk, eclipse y el plugin de eclipse m2e, a mi me gusta tener maven disponible desde la linea de comandos por si he de ejecutarlo, asi que recomiendo instalarlo tambien.
Con todo esto, simplemente descargaremos los fuentes y los compilaremos. Vamos a ir viendo como podriamos hacerlo.
Instalar el JDK (linux)
Tip
Estas instrucciones son para instalar la JDK en un sistema Linux con ubuntu. En otros sistemas linux puede no ser exactamente asi.
Lo primero sera verificar que tenemos instalado un JDK en el sistema. Para ello teclearemos:
$ java -version java version "1.7.0_21" OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-0ubuntu0.11.10.1) OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode) $
En caso de que nos diga que no encuentra el comando es que no tendremos instalada o configurada un JRE.
Probaremos:
$ javac -version javac 1.7.0_21 $
Para verificar si tenemos una JDK.
En mi caso, yo habia instalado "openjdk-7-jdk - OpenJDK Development Kit (JDK)" mediante el comando:
$ sudo apt-get install openjdk-7-jdk
Una vez instalada la JDK nos cercioraremos de que esta como la JVM por defecto en el sistema. En mi caso utilizando el comando:
$ sudo update-alternatives --config java Existen 2 opcioens para la alternativa java (que provee /usr/bin/java). Selección Ruta Prioridad Estado ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 modo automático 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 modo manual * 2 /usr/lib/jvm/java-7-openjdk/jre/bin/java 1051 modo manual Pulse <Intro> para mantener el valor por omisión [*] o pulse un número de selección:
Instalacion de maven
La instalacion de maven para que este disponible desde la linea de comandos no es necesaria para la compilacion de gvSIG si se va a usar eclipse, a pesar de lo cual, como en algun momento puede ser interesante ejecutarlo desde la consola recomiendo instalarlo. Si solo vas a utilizar el eclipse para compilar puedes saltarte esta seccion.
Para instalar maven, y dado que en mi sistema no venia por defecto un maven version 3, que es el recomendado para usar con gvSIG, me he dirigido a la web de maven para descargarlo.
En el momento de instalarlo, la version para descargar que habia era la "3.0.5". La he descargado desde:
http://maven.apache.org/download.cgi
Tip
Para sistemas MS Windows puede dejarlo en "Archivos de programa/maven".
Y simplemente la he descomprimido en $HOME/applications/maven y he añadido al PATH la carpeta "$HOME/applications/maven/bin".
Instalar eclipse
Para instalar eclipse, me he dirigido a la web:
www.eclipse.org
Y desde ahi he descargado la ultima version de eclipse para mi sistema. En concreto:
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/kepler/R/eclipse-java-kepler-R-linux-gtk-x86_64.tar.gz
Simplemente lo he descomprimido en $HOME/applications/eclipse .
Configurar el JDK para eclipse
Tip
En mi sistema linux la JDK a usar esta instalada en:
- /usr/lib/jvm/java-7-openjdk
Una vez con un eclipse, a mi disposicion, lo primero es indicarle que use la JDK que hayamos preparado con anterioridad. Eclipse, puede ecjecutarse con un JRE ya que lleva embebido su propio compilador de java, pero con este no es suficiente ya que maven intentare acceder al JDK para compilar. Asi que nos dirigiremos a:
Window -> Preferences -> Java -> installed JREs
Y alli añadiremos nuestra JDK si no se ecnuentra en la lista y la marcaremos como jdk a usar.
Despues iremos a:
Window -> Preferences -> Java -> installed JREs -> Execution Enviroments
Y tambien la seleccionaremos.
Configurar el cliente de SVN
Para poder descargarnos los fuentes de gvSIG tendremos que instalar en eclipse un plugin que nos permita acceder a repositorios de SVN. Yo suelo usar el "subversive". Vamos a ver como tendriamos que hacer para instalarlo y configurarlo.
Lo primero iremos a:
Help -> install new software
Ahi, en el primer desplegable seleccionaremos:
-- All Available Sites --
Y en la siguiente caja de texto teclearemos "subv" para que nos busque entre los plugins disponibles. En la lista que nos presenta seleccionaremos:
Subversive SVN Team Provider
![../compile_gvsig.images/es/01_install_subversive.png](../compile_gvsig.images/es/01_install_subversive.png)
Le daremos en siguiente, y seguiremos los pasos que nos va indicando. Al final a mi me pidio reiniciar eclipse, cosa que hice.
Una vez tenemos instalado el plugin para acceso al SVN, pasaremos a crear la perpectiva de "SVN Repository Exploring".
Window -> Open perspective -> Others...
![../compile_gvsig.images/es/02_add_svn_repository_exploring.png](../compile_gvsig.images/es/02_add_svn_repository_exploring.png)
Al hacer esto nos pedira que instalemos el conector que queremos usar para acceder al SVN. Yo suelo utilizar el "SVN Kit", en este caso la version 1.7.9 que se corresponde con el SVN del sistema version 1.7 que es el que tengo instalado.
![../compile_gvsig.images/es/03_install_svn_connectors.png](../compile_gvsig.images/es/03_install_svn_connectors.png)
Terminado esto ya tendremos instalado y configurado el acceso a SVN desde eclipse.
Instalar el plugin de maven para eclipse (m2e)
Procederemos a instalar el plugin de eclipse "m2e". Para ello seleccionaremos en el menu:
Help -> Install new software
![../compile_gvsig.images/es/04_install_m2e_install_new_software.png](../compile_gvsig.images/es/04_install_m2e_install_new_software.png)
Cuando nos muestre la ventana para instalar nuevo software en eclipse, en el desplegable etiquetado como "Work with" seleccionaremos la opcion correspondiente a la version de nuestro eclipse, en mi caso "Kepler".
![../compile_gvsig.images/es/05_install_m2e_select_repo.png](../compile_gvsig.images/es/05_install_m2e_select_repo.png)
En la caja de texto que hay en cima de la tabla entraremos "maven" para filtrar los paquetes, y de la lista resultante seleccionaremos:
m2e conector for mavenarchiver pom properties
Y haremos click en "siguiente".
![../compile_gvsig.images/es/06_install_m2e_select_m2e.png](../compile_gvsig.images/es/06_install_m2e_select_m2e.png)
Una vez haya terminado de instalarlo probablemente nos solicite reiniciar eclipse, cosa que haremos.
una vez instalado el plugin de maven para eclipse, necesitaremos instalar el conector de SVN para m2e. Para ello, pulsaremos con el boton derecho sobre el explorador de paquetes y seleccionaremos la opcion "Importar". En la ventana de importacion abriremos la carpeta que dice "Maven", seleccionaremos la opcion "Checkout maven projects from SCM" y haremos click en el boton "Siguiente".
![../compile_gvsig.images/es/07_import_maven_project_from_scm.png](../compile_gvsig.images/es/07_import_maven_project_from_scm.png)
En la nueva ventana que aparece, veremos un texto que dice algo como "Find more SCM connectors in the m2e markeplace". Pulsaremos sobre el enlace para instalar el conector para SVN.
![../compile_gvsig.images/es/08_checkout_maven_project_from_scm.png](../compile_gvsig.images/es/08_checkout_maven_project_from_scm.png)
En la nueva ventama que nos aparecera introduciremos "scm" en la casilla de filtro (find) y seleccionaremos "m2e-subversive" y haremos click en el boton "Instalar".
![../compile_gvsig.images/es/09_install_m2e_subversive.png](../compile_gvsig.images/es/09_install_m2e_subversive.png)
Concluida la instalacion de este plugin tendremos instalado y configurado minimamente el plugin de maven para eclipse para poder trabajar.
Compilar gvSIG
Una vez tenemos instalado y configurado nuestro JDK, eclipse, y plugin de maven para ecliose, podemos pasar a compilar la aplicacion gvSIG desktop.
Para ello, lo primero que tendremos que hacer es descargarnos los fuentes. Yo he creado un workspace nuevo para ello.
En la vista del explorador de paquetes haremos click con el boton derecho sobre el fondo y seleccionaremos la opcion "Importar".
![../compile_gvsig.images/es/10_import_maven_project_from_scm.png](../compile_gvsig.images/es/10_import_maven_project_from_scm.png)
En la ventana de importacion abriremos la carpeta que dice "Maven", seleccionaremos la opcion "Checkout maven projects from SCM" y haremos click en el boton "Siguiente".
![../compile_gvsig.images/es/11_import_maven_project_from_svn.png](../compile_gvsig.images/es/11_import_maven_project_from_svn.png)
En la ventana "Checkout as maven project from SCM" seleccionaremos en "SCM Url", en el primer desplegable "svn" y en la caja de texto introduciremos:
https://devel.gvsig.org/svn/gvsig-desktop/trunk/org.gvsig.desktop
Y haremos click en el boton "Finalizar".
![../compile_gvsig.images/es/11_import_maven_project_set_scm_url.png](../compile_gvsig.images/es/11_import_maven_project_set_scm_url.png)
Al hacer click en "Finalizar" nos presentara una ventana informandonos que no es capaz de verificar el certificado de la web "https://devel.gvsig.org", lo aceptaremos haciendo click en "Trusk Always".
![../compile_gvsig.images/es/12_certificate_problem.png](../compile_gvsig.images/es/12_certificate_problem.png)
Una vez hecho esto se procedera a la descarga del proyecto desde el svn de gvSIG. Esto puede tardar un ratito.
![../compile_gvsig.images/es/13_checking_out_maven_projects.png](../compile_gvsig.images/es/13_checking_out_maven_projects.png)
Una vez terminado de descargarse los fuentes, automaticamente procedera a configurar e importar los proyectos maven en el workspace.
![../compile_gvsig.images/es/14_importing_maven_projects.png](../compile_gvsig.images/es/14_importing_maven_projects.png)
Esta operacion tambien puede tardar un rato ya que se descargara todas las dependencias de maven que precise.
Una vez terminado tendremos el proyecto configurado y listo para compilar.
Para compilar nos limitaremos a seleccionar el proyecto
org.gvsig.desktop
![../compile_gvsig.images/es/15_select_org_gvsig_desktop.png](../compile_gvsig.images/es/15_select_org_gvsig_desktop.png)
En el explorador de paquetes y haremos click con boton derecho, seleccionando la opcion
Run As -> 5 Maven install
![../compile_gvsig.images/es/16_run_as_maven_install.png](../compile_gvsig.images/es/16_run_as_maven_install.png)
Y esto compilara y dejara listo para ejecutar la aplicacion. Si todo ha ido bien, en la consola tendra que aparecer un mensaje algo como:
[INFO] BUILD SUCCESS
![../compile_gvsig.images/es/17_build_success.png](../compile_gvsig.images/es/17_build_success.png)
Ejecutar gvSIG
Si ya tenemos gvSIG compilado para ejecutarlo solo tenemos que crear una entrada en los "launchers" de eclipse. Para esto, pulsaremos en la opcion "Run configurations"
![../compile_gvsig.images/es/18_select_run_configurations.png](../compile_gvsig.images/es/18_select_run_configurations.png)
Y crearemos una entrada nueva de tipo aplicacion java. Indicaremos:
- Name: "gvSIG"
- Main -> Project: org.gvsig.andami
- Main -> Main class: org.gvsig.andami.Launcher
- Arguments -> Others: Seleccionaremos el boton "Workspace" y la carpeta org.gvsig.desktop/target/product.
![../compile_gvsig.images/es/19_run_configurations_main.png](../compile_gvsig.images/es/19_run_configurations_main.png)
![../compile_gvsig.images/es/20_run_configurations_arguments.png](../compile_gvsig.images/es/20_run_configurations_arguments.png)
Una vez entrados estos valores pulsaremos en "Aplicar" y en "Run" para ejecutar la aplicacion.
Algunas consideraciones y pequeños trucos
Cuando compila gvSIG desktop usando "mvn install" se realizan una serie de acciones como son:
- Compilar los test
- Ejecutar los test
- Empaquetar los test
- Empaquetar los fuentes
- Generar y empaquetar los javadocs
- Comprobar la compatibilidad binaria con el API de java 1.5
Aunque estas acciones es necesario ejecutarlas por lo menos la primera vez, puede que no siempre nos interese hacerlo. En el fichero "maven-howto.rst" que hay en el raiz del proyecto "org.gvsig.desktop" indica como indicar en la linea de comandos que no queremos que se ejecuten estas acciones.
Si evitamos que se ejecuten cada vez que compilamos un proyecto ganaremos tiempo. Eso si, no olvidemos ejecutarlas de vez en cuando para mantener los binarios y los archivos adicionales que generan estas acciones sincronizados.
En eclipse, puede ser interesante crear un "Launcher" que suelo llamar algo como "Maven install (quick)" indicando estas acciones y que se ejecute sobre el proyecto que tengo seleccionado en el explorador de paquetes.