Estructura de un proyecto
Para empezar a trabajar, una vez generados nuestros proyectos con el asistente, abriremos un Eclipse, seleccionando como workspace la carpeta que indicamos en el asistente. Nos abrirá una instancia de Eclipse con un workspace vació. Lo primero que haremos será importar los dos proyectos que han sido creados. Para ello no utilizaremos la opción importar.
Desde el menú File seleccionaremos New->Project... (no proyecto java), en el diálogo que nos presentará seleccionaremos la opción General->Project y pulsamos siguiente, y como nombre de proyecto pondremos "org.gvsig.visor", y le daremos a terminar. Una vez concluido esto haremos lo mismo con el proyecto "org.gvsig.visor.app"
Tip
Puede resultarle útil consultar la documentación existente en la Guía para desarrolladores relacionada con esto, que puede encontrar en la sección Estructura de un proyecto en gvSIG asi como en Cosas a tener en cuenta antes de desarrollar un plugin .
Vamos a echarle un vistazo al código generado. Los proyectos que se han creado son:
- org.gvsig.visor. Se trata de un proyecto Maven con varios subproyectos. En ellos
encontraremos dividido, la parte de la lógica, con su API
e implementación, así como la parte de interface de usuario asociada a los componentes
de la lógica, también con su API e implementación, y un proyecto que nos permitirá
probar esa lógica e interfaces de usuario sin necesidad de arrancar gvSIG. En general
los distintos componentes que encontremos aquí serán independientes del framework
de Andami así como de los plugins de gvSIG, siendo dependientes únicamente de otras
librerías. Los proyectos que nos encontraremos serán:
- org.gvsig.visor.lib con la lógica de nuestro proyecto
- org.gvsig.visor.lib.api
- org.gvsig.visor.lib.impl
- org.gvsig.visor.swing con el interface de usuario de nuestros
componentes lógicos.
- org.gvsig.visor.swing.api
- org.gvsig.visor.swing.impl
- org.gvsig.visor.main, nuestra main de pruebas.
- org.gvsig.visor.lib con la lógica de nuestro proyecto
- org.gvsig.visor.app. Este proyecto de Maven también es un proyecto multimódulo, o sea, que tendrá subproyectos. Contendrá la implementación de los distintos plugins que se van a añadir a gvSIG. Normalmente usará los componentes del proyecto org.gvsig.visor, y se encargará de la integración de estos en gvSIG. En el proyecto de ejemplo que genera la plantilla utilizada solo hay un subproyecto, org.gvsig.visor.app.mainplugin ya que vamos a aportar un único plugin. Si tuviésemos necesidad de aportar más de un plugin tendríamos un subproyecto por plugin.
Con esto ya podríamos trabajar, pero ya que Eclipse no es capaz de reconocer la estructura de subproyectos de Maven, nos será mucho más cómodo importar los proyectos hijos como proyectos de Eclipse.
Ejecutaremos la opción del menú File->import, y en el diálogo importar seleccionaremos General->Existing projects into workspace y siguiente. Marcaremos "Select root directory" y seleccionaremos la carpeta "/home/gvsig/workspce/visor/org.gvsig.visor/org.gvsig.visor.lib". Al hacer esto nos debería proponer como proyectos a añadir:
- org.gvsig.visor.lib.api
- org.gvsig.visor.lib.impl
Estarán seleccionados, así que simplemente pulsaremos el botón terminar.
Ahora repetiremos el proceso indicando como "root directory" las siguientes carpetas:
- /home/gvsig/workspce/visor/org.gvsig.visor/org.gvsig.visor.swing
- /home/gvsig/workspce/visor/org.gvsig.visor/org.gvsig.visor.main
- /home/gvsig/workspce/visor/org.gvsig.visor.app/org.gvsig.visor.app.mainplugin
Con esto tendremos ya en nuestro workspace importados todos los proyectos relacionados con nuestro desarrollo.