Download Kosmo Desktop – Manual de desarrollo

Document related concepts
no text concepts found
Transcript
Kosmo Desktop – Manual de desarrollo
Instalación y configuración del código fuente de
Kosmo en Eclipse
Versión 3.0
02/12/2010
Kosmo Desktop – Manual de desarrollo |
2
Kosmo Desktop – Manual de desarrollo |
3
1 Control de versiones
VERSIÓN
AUTOR
FECHA
CAMBIO
1.0
SAIG, S.L.
22/03/2007
Versión Inicial
2.0
SAIG, S.L.
19/02/2008
Actualización del manual
3.0
SAIG, S.L.
02/12/2010
Incluidas nuevas entradas en el apartado de FAQ
Índice de contenido
1Control de versiones............................................................................................................................. 3
2Introducción......................................................................................................................................... 5
3Instalación y configuración de Java y Eclipse........................................................................................ 6
3.1Instalación de Java y JAI................................................................................................................ 6
3.2Instalación de Eclipse................................................................................................................... 6
4Creación del workspace........................................................................................................................ 8
4.1Descarga del código fuente de Kosmo Desktop............................................................................ 8
4.2Creación de la carpeta de trabajo (workspace) en Eclipse............................................................9
4.3Primeros pasos en Eclipse........................................................................................................... 10
5Creación de los proyectos................................................................................................................... 12
5.1Pasos previos.............................................................................................................................. 12
5.2Configuración de las bibliotecas................................................................................................. 13
5.3Configuración del build path....................................................................................................... 18
5.3.1Directorios de fuentes y salida............................................................................................ 18
5.3.2Nivel de compatibilidad con versiones anteriores...............................................................18
5.4Creación del proyecto “saig-core”.............................................................................................. 20
5.5Creación de la configuración de inicio......................................................................................... 27
5.6Iniciar la ejecución...................................................................................................................... 33
5.7Creación de los proyectos correspondientes a las extensiones...................................................34
6FAQ..................................................................................................................................................... 36
Kosmo Desktop – Manual de desarrollo |
4
Índice de imágenes
Imagen 1: Contenido del fichero zip de Eclipse....................................................................................... 7
Imagen 2: Contenido del fichero zip de distribución del código fuente de Kosmo Desktop.....................8
Imagen 3: Eclipse - Selección del directorio de trabajo........................................................................... 9
Imagen 4: Eclipse - Pantalla de bienvenida........................................................................................... 10
Imagen 5: Eclipse - Perspectiva Java..................................................................................................... 10
Imagen 6: Eclipse - Abrir perspectiva.................................................................................................... 11
Imagen 7: Eclipse - Cambiar de perspectiva......................................................................................... 11
Imagen 8: Distribución de directorios en la carpeta de trabajo de Eclipse............................................12
Imagen 9: Eclipse - Configurar bibliotecas de usuario - Windows > Preferences...................................13
Imagen 10: Eclipse - Configurar bibliotecas de usuario - Nueva biblioteca de usuario..........................14
Imagen 11: Eclipse - Configurar bibliotecas de usuario - Configurar nombre de la biblioteca...............14
Imagen 12: Eclipse - Configurar bibliotecas de usuario - Biblioteca de usuario KOSMO_LIBS................15
Imagen 13: Eclipse - Configurar bibliotecas de usuario - Bibliotecas añadidas a la biblioteca de usuario
KOSMO_LIBS......................................................................................................................................... 16
Imagen 14: Eclipse - Configuración de la biblioteca de usuario EXTENSION_LIBS.................................17
Imagen 15: Eclipse - Configuración del Build Path................................................................................ 18
Imagen 16: Eclipse - Preferencias - Nivel de compatibilidad.................................................................19
Imagen 17: Eclipse - Nuevo proyecto Java............................................................................................ 20
Imagen 18: Eclipse - Crear proyecto saig-core...................................................................................... 21
Imagen 19: Eclipse - Configuración del proyecto saig-core - Pestaña src..............................................22
Imagen 20: Eclipse - Configuración del proyecto saig-core - Pestaña Libraries.....................................23
Imagen 21: Eclipse - Configuración del proyecto saig-core - Pestaña Order and Export........................25
Imagen 22: Eclipse - Configuración del proyecto saig-core - Generando clases....................................26
Imagen 23: Eclipse - Configuración del proyecto saig-core - Proyecto saig-core generado...................26
Imagen 24: Eclipse - Creación de la configuración de inicio..................................................................27
Imagen 25: Eclipse - Creación de la configuración de inicio - Nueva aplicación Java.............................28
Imagen 26: Eclipse - Creación de la configuración de inicio - Nueva aplicación Java.............................29
Imagen 27: Eclipse - Creación de la configuración de inicio - Pestaña Arguments................................30
Imagen 28: Eclipse - Creación de la configuración de inicio - Pestaña Environment.............................31
Imagen 29: Eclipse - Creación de la configuración de inicio - Editar variable de entorno......................31
Imagen 30: Eclipse - Creación de la configuración de inicio - Variable PATH.........................................32
Imagen 31: FAQ - Mostrar salida en consola - Archivo log4j.properties.................................................36
Imagen 32: FAQ - Eclipse - Configuración de la memoria de inicio........................................................37
Imagen 33: FAQ - Eclipse - Parámetro Xmx........................................................................................... 37
Imagen 34: FAQ - Eclipse - Aumentar la memoria de inicio de Kosmo Desktop.....................................38
Kosmo Desktop – Manual de desarrollo |
5
2 Introducción
A lo largo de este documento vamos a explicar qué pasos debemos seguir para poder generar
Kosmo Desktop – Sistema Abierto de Información Geográfica a partir de su código fuente.
Como entorno de desarrollo recomendamos el uso de Eclipse. Será este el entorno que usaremos
a lo largo de este manual, pero existen otros entornos de desarrollo que pueden usarse y que habría
que seguir unos pasos parecidos para su configuración.
Los pasos que vamos a mostrar se harán sobre la plataforma Windows: en Linux se deberían
seguir unos pasos similares.
Kosmo Desktop – Manual de desarrollo |
6
3 Instalación y configuración de Java y Eclipse
3.1 Instalación de Java y JAI
Para poder compilar el código fuente de Kosmo es necesario tener instalada una máquina virtual
de Java en el equipo. Debido al uso de determinadas estructuras de Java, es necesario usar al menos
una versión de Java 1.6.X.
Para desarrollar es aconsejable descargar el JDK de la versión que queramos usar, ya que esto
nos permitirá posteriormente acceder a las clases nativas de Java desde Eclipse cuando estemos en
una sesión de depuración.
Podemos descargar la última versión de Java 1.6 en la dirección:
http://java.sun.com/javase/downloads/index.jsp
Además de la máquina virtual, es necesario instalar JAI para que Kosmo pueda iniciarse. Para ello
tenemos que instalar la versión correspondiente a la plataforma y al tipo de distribución de Java que
vayamos a usar (JDK o JRE). En ambos casos, podemos descargar la última versión estable de JAI
desde la página:
https://jai.dev.java.net/binary-builds.html
Debemos instalar la versión de JAI sobre la máquina virtual que después usaremos para
desarrollar.
3.2 Instalación de Eclipse
Como ya hemos comentado anteriormente, vamos a usar Eclipse como entorno de desarrollo en
este manual.
Para descargar Eclipse, podemos acceder a la siguiente dirección:
http://www.eclipse.org/downloads/
De aquí podemos descargar la última versión estable del Eclipse SDK, que actualmente es la
3.6.X, seleccionando qué plataforma queremos.
Para instalar Eclipse, basta descomprimir el archivo zip correspondiente en la ruta deseada. Esto
creará la estructura de directorios necesaria para poder lanzar Eclipse:
Kosmo Desktop – Manual de desarrollo |
Imagen 1: Contenido del fichero zip de Eclipse
Para iniciar Eclipse, basta con hacer doble click sobre el archivo eclipse.exe.
7
Kosmo Desktop – Manual de desarrollo |
8
4 Creación del workspace
A lo largo de este punto vamos a ver cómo tenemos que crear la carpeta de trabajo de Eclipse y
cómo deben crearse los proyectos correspondientes.
4.1 Descarga del código fuente de Kosmo Desktop
Para descargar la última versión de los fuentes de Kosmo Desktop podemos visitar la sección de
Descargas > Código fuente en la dirección de la página del proyecto Kosmo – La Plataforma SIG Libre
Corporativa:
http://www.opengis.es
El código fuente de Kosmo Desktop está distribuido en directorios para facilitar al desarrollador su
incorporación a la carpeta de trabajo. Una vez descomprimido el archivo zip, obtendremos una
estructura de directorios similar a la siguiente:
Imagen 2: Contenido del fichero zip de distribución del código fuente de Kosmo
Desktop
Podemos observar que el directorio contiene once directorios. Los directorios principales son:
•
saig-core
Contiene las clases correspondientes al núcleo de Kosmo Desktop.
•
docs
Contiene el conjunto de manuales sobre el desarrollo en Kosmo Desktop.
•
libs
Kosmo Desktop – Manual de desarrollo |
9
Contiene tanto los ficheros jar de las bibliotecas necesarias para poder compilar Kosmo
Desktop como las dlls/.so necesarias para el acceso a imágenes.
El resto de directorios corresponde cada uno a las extensiones disponibles de Kosmo Desktop.
4.2 Creación de la carpeta de trabajo (workspace) en Eclipse
Cuando iniciamos por primera vez Eclipse, nos preguntará qué directorio queremos usar como
carpeta de trabajo.
Imagen 3: Eclipse - Selección del directorio de trabajo
Seleccionamos la ruta deseada, marcamos la opción “Use this as the default and not ask me
again” (Usar por defecto y no volver a preguntar) y pulsamos el botón Aceptar. De esta forma, cuando
iniciemos de nuevo Eclipse, no nos volverá a preguntar cuál es la carpeta de trabajo.
Kosmo Desktop – Manual de desarrollo |
4.3 Primeros pasos en Eclipse
Una vez creada la carpeta de trabajo, Eclipse nos muestra la ventana de bienvenida:
Imagen 4: Eclipse - Pantalla de bienvenida
Cerramos la ventana y aparecerá la perspectiva Java, que es la que se abre por defecto:
Imagen 5: Eclipse - Perspectiva Java
10
Kosmo Desktop – Manual de desarrollo |
11
Una perspectiva es una distribución particular de las diferentes vistas que nos proporciona
Eclipse. Las perspectivas habituales son tres:
•
•
•
Java -> es la inicial y normalmente será la que se use.
Java Browsing -> muy parecida a la Java, con diferente distribución de las vistas.
Debug -> es la que usaremos habitualmente para realizar sesiones de depuración del código
Para cambiar de una perspectiva a otra usamos la opción del menú Window > Open perspective,
donde aparecerán las perspectivas por defecto (y otras que podemos configurar igualmente):
Imagen 6: Eclipse - Abrir perspectiva
Podemos cambiar de una perspectiva a otra usando la marca existente en la parte superior
derecha de la pantalla:
Imagen 7: Eclipse - Cambiar de perspectiva
Kosmo Desktop – Manual de desarrollo |
12
5 Creación de los proyectos
A lo largo de este apartado vamos a ver cómo crear cada uno de los proyectos en Eclipse a partir
del código fuente de Kosmo Desktop. Vamos a suponer que nuestro entorno de trabajo va a ser
C:\workspace para los ejemplos, pero podemos usar la ruta que queramos para ello.
5.1 Pasos previos
Antes de empezar a crear los proyectos, vamos a trasladar los fuentes de Kosmo Desktop a
nuestra carpeta de trabajo.
Para ello copiamos las carpetas saig-core, libs y cada uno de los directorios correspondientes a
las extensiones de la ubicación donde habíamos descomprimido el archivo de fuentes a la carpeta de
trabajo solicitada. Para nuestro ejemplo el directorio de trabajo quedaría como sigue:
Imagen 8: Distribución de directorios en la carpeta de trabajo de Eclipse
Además de estas carpetas, vamos a crearnos un nuevo directorio extensiones que es donde
vamos a ir añadiendo los jars correspondientes a las extensiones de Kosmo Desktop.
Kosmo Desktop – Manual de desarrollo |
13
5.2 Configuración de las bibliotecas
Antes de empezar a crear los proyectos, vamos a crear una biblioteca de usuario que va a
englobar todas las bibliotecas que necesita Kosmo para su compilación (KOSMO_LIBS) y otra que
englobará el conjunto de bibliotecas de usuario usadas en las extensiones (EXTENSION_LIBS).
Para ello debemos seguir los siguientes pasos:
1.
Seleccionamos el menú Windows > Preferences...
Imagen 9: Eclipse - Configurar bibliotecas de usuario - Windows >
Preferences
Kosmo Desktop – Manual de desarrollo |
2.
14
Seleccionamos la opción Java > Build Path > User Libraries y creamos una nueva
biblioteca de usuario (User Library).
Imagen 10: Eclipse - Configurar bibliotecas de usuario - Nueva biblioteca de usuario
3.
Pulsamos el botón New y creamos una nueva biblioteca con el nombre KOSMO_LIBS.
Pulsamos el botón Ok.
Imagen 11: Eclipse - Configurar bibliotecas de
usuario - Configurar nombre de la biblioteca
Kosmo Desktop – Manual de desarrollo |
15
Imagen 12: Eclipse - Configurar bibliotecas de usuario - Biblioteca de usuario
KOSMO_LIBS
4.
Una vez creada, pulsamos el botón Add Jars y seleccionamos todos los jars existentes en
el directorio libs que viene incluido junto con las fuentes de Kosmo Desktop. Aparecerán
añadidas todas las bibliotecas dentro de la biblioteca de usuario:
Kosmo Desktop – Manual de desarrollo |
16
Imagen 13: Eclipse - Configurar bibliotecas de usuario - Bibliotecas añadidas a la
biblioteca de usuario KOSMO_LIBS
5.
Pulsamos el botón Ok del diálogo de preferencias y ya hemos creado nuestra biblioteca
de usuario KOSMO_LIBS.
6.
De forma similar, creamos la biblioteca EXTENSION_LIBS añadiendo las bibliotecas que
están incluidas en el directorio libs\ext:
Kosmo Desktop – Manual de desarrollo |
Imagen 14: Eclipse - Configuración de la biblioteca de usuario EXTENSION_LIBS
17
Kosmo Desktop – Manual de desarrollo |
18
5.3 Configuración del build path
En este punto vamos a modificar algunos parámetros que vienen por defecto en Eclipse, para
adaptarlos a nuestras necesidades:
5.3.1 Directorios de fuentes y salida
En la opción Windows > Preferences..., marcamos la opción Java > Build path y seleccionamos la
opción Source and output folders > Folders:
Imagen 15: Eclipse - Configuración del Build Path
5.3.2 Nivel de compatibilidad con versiones anteriores
En esta ocasión no se va a mantener compatibilidades con versiones anteriores, por lo que se
dejará la compatibilidad en 6.0.
Kosmo Desktop – Manual de desarrollo |
Imagen 16: Eclipse - Preferencias - Nivel de compatibilidad
19
Kosmo Desktop – Manual de desarrollo |
20
5.4 Creación del proyecto “saig-core”
Vamos a crear en primer lugar el proyecto del núcleo de Kosmo Desktop: el proyecto saig-core.
Los pasos que debemos seguir para crear este proyecto son los siguientes:
1.
Creamos un nuevo proyecto con la opción del menú File > New...> Java Project:
Imagen 17: Eclipse - Nuevo proyecto Java
2.
Establecemos como nombre del proyecto saig-core y marcamos la opción Create project
from existing source. Pulsamos el botón Browse... y seleccionamos el directorio saig-core
en el diálogo que nos aparece:
Kosmo Desktop – Manual de desarrollo |
21
Imagen 18: Eclipse - Crear proyecto saig-core
3.
En la pestaña “Sources” podemos observar que se han añadido automáticamente los
fuentes existentes en la carpeta saig-core. Comprobamos que el directorio de salida es el
directorio \bin y que la opción Allow output folders for source folders está desmarcada:
Kosmo Desktop – Manual de desarrollo |
22
Imagen 19: Eclipse - Configuración del proyecto saig-core - Pestaña src
4.
En la pestaña “Libraries” (Bibliotecas) vamos a añadir la biblioteca de usuario
KOSMO_LIBS que ya habíamos configurado previamente. Para ello pulsamos el botón Add
Library..., seleccionamos la opción User Library y marcamos la biblioteca KOSMO_LIBS:
Kosmo Desktop – Manual de desarrollo |
Imagen 20: Eclipse - Configuración del proyecto saig-core - Pestaña
Libraries
23
Kosmo Desktop – Manual de desarrollo |
24
Kosmo Desktop – Manual de desarrollo |
5.
25
Por último, vamos a configurar la pestaña “Order and Export”. Marcamos la biblioteca
KOSMO_LIBS para que esté disponible para el resto de proyectos:
Imagen 21: Eclipse - Configuración del proyecto saig-core - Pestaña Order
and Export
6.
Una vez configurado el proyecto, pulsamos el botón Finish para que se añada al
workspace. Automáticamente comenzará a compilar el proyecto (lo indica en la parte
inferior derecha de la pantalla, con el mensaje Building workspace...)
Kosmo Desktop – Manual de desarrollo |
Imagen 22: Eclipse - Configuración del proyecto saig-core - Generando clases
Imagen 23: Eclipse - Configuración del proyecto saig-core - Proyecto saig-core
generado
26
Kosmo Desktop – Manual de desarrollo |
27
5.5 Creación de la configuración de inicio
Para poder iniciar Kosmo, tanto en modo normal o en modo depuración, necesitamos crear una
nueva configuración de inicio.
Para ello debemos seguir los pasos que se detallan a continuación:
1.
Abrimos el diálogo Run mediante la opción Run > Open Run Dialog ...
Imagen 24: Eclipse - Creación de la configuración de inicio
2.
Seleccionamos la opción Java Application, pulsamos con el botón derecho del ratón y
seleccionamos la opción New para crear una nueva configuración:
Kosmo Desktop – Manual de desarrollo |
28
Imagen 25: Eclipse - Creación de la configuración de inicio - Nueva aplicación Java
3.
En la pestaña “Main”, pulsamos el botón Search y seleccionamos como clase principal de
la aplicación la clase com.vividsolutions.jump.workbench.JUMPWorkbench:
Kosmo Desktop – Manual de desarrollo |
29
Imagen 26: Eclipse - Creación de la configuración de inicio - Nueva aplicación Java
4.
En la pestaña “Arguments” vamos a configurar tanto los argumentos del programa como
los argumentos que le pasamos a la máquina virtual.
Dentro de los argumentos del programa (Program arguments), le indicamos en qué
directorio puede encontrar las extensiones del mismo. En nuestro ejemplo, tendríamos
que escribir lo siguiente:
-plug-in-directory "C:\workspace\extensiones"
Dentro de los argumentos para la máquina virtual (VM arguments), situaremos el
parámetro
de memoria -Xmx y el directorio donde puede encontrar las bibliotecas
para la carga de ficheros de imagen.
En nuestro caso, vamos a colocar el valor de memoria a 800 Mb y el directorio para las
bibliotecas de imágenes será “C:\workspace\libs\dlls”. En total quedaría como sigue:
-Xmx800M -Djava.library.path="C:\workspace\libs\dlls"
Kosmo Desktop – Manual de desarrollo |
30
Imagen 27: Eclipse - Creación de la configuración de inicio - Pestaña Arguments
5.
En la pestaña Enviroment vamos a configurar la variable PATH para que Kosmo Desktop
sea capaz de encontrar las bibliotecas de imágenes de forma correcta:
Kosmo Desktop – Manual de desarrollo |
Imagen 28: Eclipse - Creación de la configuración de inicio - Pestaña Environment
Imagen 29: Eclipse - Creación de la configuración de inicio Editar variable de entorno
31
Kosmo Desktop – Manual de desarrollo |
Imagen 30: Eclipse - Creación de la configuración de inicio - Variable PATH
Para el caso de Linux, la variable que hay que configurar es LD_LIBRARY_PATH:
32
Kosmo Desktop – Manual de desarrollo |
6.
33
Pulsamos el botón Apply (Aplicar) para guardar los cambios y, si queremos iniciar Kosmo
Desktop, el botón Run. Si queremos guardar sin iniciar la ejecución pulsamos el botón
Close.
5.6 Iniciar la ejecución
Una vez configurado nuestro proyecto, podemos iniciar la ejecución del programa en dos modos:
1.
Modo normal
Nos permite ejecutar el programa ignorando cualquier configuración de depuración
establecida:
2.
Modo depuración
Nos permite ejecutar el programa con puntos de interrupción, para poder depurar el
código del mismo:
Kosmo Desktop – Manual de desarrollo |
34
5.7 Creación de los proyectos correspondientes a las extensiones
El proceso de creación de los proyectos para cada una de las extensiones incluidas en Kosmo
Desktop es similar al que ya hemos visto para el proyecto saig-core. En este caso, es necesario
modificar la pestaña Projects dentro del diálogo New Java Project para añadir el proyecto saig-core:
1.
Pulsamos el botón Add...
2.
Seleccionamos el proyecto saig-core y pulsamos el botón Ok.
Kosmo Desktop – Manual de desarrollo |
35
3.
El proyecto saig-core forma a partir de ahora parte de las clases de nuestro nuevo
proyecto.
4.
Añadimos la biblioteca de usuario EXTENSION_LIBS como biblioteca en la pestaña
Libraries.
Puesto que hemos configurado previamente el proyecto saig-core para que ofreciera las
bibliotecas KOSMO_LIBS a otros proyectos, no es necesario añadirlas de nuevo al proyecto de
cada extensión.
Kosmo Desktop – Manual de desarrollo |
36
6 FAQ
1. Cuando inicio la ejecución de Kosmo Desktop, no me aparece ningún mensaje en la pestaña
“Console”, que es donde deben aparecer los mensajes de información y/o error.
Por defecto, el fichero de configuración de los mensajes de error hace que sólo se escriban en
un fichero kosmo.log dentro del directorio /logs del proyecto saig-core (de ahí que crearamos
dicho directorio en un punto anterior). Si queremos que se muestren los mensajes en
pantalla, en la pestaña “Console”, debemos modificar el fichero log4j.properties de modo que
incluya la categoría stdout:
Imagen 31: FAQ - Mostrar salida en consola - Archivo log4j.properties
2. Cuando inicio la aplicación me aparece el mensaje siguiente:
log4j:ERROR setFile(null,true) call failed
java.io.FileNotFoundException: logs\kosmo.log (El sistema no puede
hallar la ruta especificada)
Este problema se muestra cuando Kosmo Desktop no es capa de encontrar el directorio /log
donde escribir el fichero correspondiente. Asegúrese de que ha creado el directorio /log
dentro del directorio del proyecto saig-core.
Kosmo Desktop – Manual de desarrollo |
37
3. Tengo memoria disponible en el equipo y quiero iniciar Eclipse con más memoria
Para modificar la memoria con la que se inicia Eclipse debemos editar el fichero eclipse.ini
que está situado en el directorio de instalación de Eclipse y modificar el valor del parámetro
Xmx hasta alcanzar la memoria deseada:
Imagen 32: FAQ - Eclipse - Configuración de la memoria de inicio
Imagen 33: FAQ - Eclipse - Parámetro
Xmx
Kosmo Desktop – Manual de desarrollo |
38
4. Tengo memoria disponible en el equipo y quiero iniciar Kosmo Desktop con más memoria
Para iniciar Kosmo con más memoria modificamos el parámetro correspondiente en la
pestaña Arguments de la configuración de inicio:
Imagen 34: FAQ - Eclipse - Aumentar la memoria de inicio de Kosmo Desktop
5. Al iniciar Kosmo me indica que no es capaz de encontrar la clase Crs
Hay que comprobar que el directorio crs existe en el directorio del proyecto que estamos
ejecutando. A su vez la pestaña Environment tiene configurada la variable PATH (o
LD_LIBRARY_PATH para Linux) correctamente y que en la pestaña Arguments, entrada VM
arguments, también está correctamente configurado el directorio.
6. Al generar las clases, Eclipse me da indica que no es capaz de encontrar la clase
javax.media.jai.util.Range
En este caso, la máquina virtual de Java que hemos configurado para generar las clases no
tiene instalado JAI. Revise la configuración de su JRE/JDK de desarrollo y compruebe que ha
instalado en el mismo la versión de JAI correspondiente al tipo de máquina virtual y su
sistema operativo.
http://www.saig.es
Email: [email protected]
Avenida República Argentina 28. Edificio Domocenter. Oficinas 6 y 7, 2ª planta.
41930, Bormujos – Sevilla – España