Las dependencias entre los distintos proyectos
Primero veamos qué dependencias nos ha dejado puestas el asistente en el proyecto *org.gvsig.visor*. Si miramos el fichero *pom.xml*, de ese proyecto, en la sección *dependencyManagement* observaremos la siguiente entrada: .. code-block:: xmlEsto importa las dependencias de las distintas librerías de gvSIG, de forma que para todas las librerías base de gvSIG no tengamos que preocuparnos por la versión de cada una de ellas. Como esta importación está realizada en la sección *dependencyManagement*, solo es a título informativo, es decir, no fija una dependencia con esas librerías. Si vemos ahora la sección *dependencies*, encontraremos la entrada: .. code-block:: xml org.gvsig org.gvsig.core.maven.dependencies 2.0.1-SNAPSHOT pom import Con esto se fijarán dependencias de ejecución y test para todas las librerías base de gvSIG, así no tendremos que preocuparnos por que estén cargadas las implementaciones de todos los APIs de gvSIG cuando se ejecuten los test de nuestros proyectos. Además de nos encontraremos con: .. code-block:: xml org.gvsig org.gvsig.core.maven.dependencies 2.0.1-SNAPSHOT pom test org.gvsig org.gvsig.tools.lib jar compile org.gvsig org.gvsig.tools.lib test-jar test org.gvsig org.gvsig.fmap.geometry compile org.gvsig org.gvsig.fmap.dal compile Ahí se fijan dependencias de compilación con las principales librerías de gvSIG, y que normalmente precisaremos en casi cualquier proyecto que vayamos a hacer y trabaje con gvSIG. Esta configuración de dependencias la encontramos en el proyecto principal. Veamos ahora qué dependencias precisaremos en los subproyectos. - *org.gvsig.visor.lib/pom.xml* Este no aporta ninguna declaración de dependencias adicional a la que define el proyecto padre que ya hemos comentado. - *org.gvsig.visor.lib.api/pom.xml* Tampoco aporta nuevas dependencias. - *org.gvsig.visor.lib.impl/pom.xml*. No aporta nuevas dependencias, pero deberemos añadir en este proyecto las dependencias con el proyecto del API, tanto para compilación como para ejecución de tests. - *org.gvsig.visor.swing/pom.xml* que aunque no aporta nuevas dependencias, define como dependencias los proyectos del *lib.api*. - *org.gvsig.visor.swing.api/pom.xml* que no aporta nuevas dependencias. - *org.gvsig.visor.swing.imple/pom.xml* que aunque no aporta nuevas dependencias, deberá declarar sus dependencias con el API de swing para test y compilación. .. warning:: También tiene una dependencia con la implementación para compilación que no creo que debiese tener, hay que repasarlo. - y por último *org.gvsig.visor.main/pom.xml*. Este declarará las dependencias con el API de nuestras librerías para compilación y con la implementación para ejecución. Y además añade dependencias de compilación con las librerías de gvSIG que utiliza, estas son: .. code-block:: xml org.gvsig org.gvsig.metadata.lib.basic.api compile org.gvsig org.gvsig.fmap.control compile org.gvsig org.gvsig.fmap.dal compile org.gvsig org.gvsig.fmap.geometry compile org.gvsig org.gvsig.fmap.mapcontext compile








