Diferencia entre revisiones de «Introducción de dependencias»
Línea 1: | Línea 1: | ||
− | + | =Conceptos= | |
+ | La otra funcionalidad básica que ofrece Maven es la gestión de las dependencias. Cualquier proyecto depende de código desarrollado por terceros: desde JUnit para ejecutar pruebas unitarias a librerías para gestionar logs o frameworks como Spring para facilitar el desarrollo de nuestra aplicación. Maven se encarga de descargar y organizar estas dependencias por nosotros para evitar que tengamos que hacerlo manualmente. Para ello se basa en tres elementos: | ||
+ | |||
+ | ==Repositorios remotos== | ||
+ | En estos repositorios los desarrolladores suben las dependencias. Existe un repositorio por defecto, [https://search.maven.org Maven Central], que es donde están subidas la mayoría de dependencias. No obstante, si tenemos dependencias privadas (por ejemplo, código que no queremos hacer público) podemos utilizar repositorios instalados en nuestra propia organización. Esto último también resulta útil para cachear las dependencias de Maven Central y conseguir que se descarguen más rápido a las máquinas de nuestros desarrolladores. | ||
+ | |||
+ | Los repositorios están organizados simplemente en directorios. | ||
+ | |||
+ | # Configuración de las dependencias de nuestro proyecto en el fichero pom.xml del mismo. | ||
+ | # Carpeta ${user.dir}/.m2, que es donde maven guarda y organiza las dependencias que se va descargando en nuestra máquina. Todos los JAR que hay ahí están disponibles para cualquier proyecto maven que utilicemos en nuestra máquina. Ahí es donde va a parar también nuestros JAR cuando ejecutamos la fase install. | ||
+ | |||
=Buscar la referencia a log4j= | =Buscar la referencia a log4j= | ||
− | |||
=Añadir dependencia en el pom.xml del proyecto= | =Añadir dependencia en el pom.xml del proyecto= |
Revisión del 08:10 24 nov 2017
Contenido
Conceptos
La otra funcionalidad básica que ofrece Maven es la gestión de las dependencias. Cualquier proyecto depende de código desarrollado por terceros: desde JUnit para ejecutar pruebas unitarias a librerías para gestionar logs o frameworks como Spring para facilitar el desarrollo de nuestra aplicación. Maven se encarga de descargar y organizar estas dependencias por nosotros para evitar que tengamos que hacerlo manualmente. Para ello se basa en tres elementos:
Repositorios remotos
En estos repositorios los desarrolladores suben las dependencias. Existe un repositorio por defecto, Maven Central, que es donde están subidas la mayoría de dependencias. No obstante, si tenemos dependencias privadas (por ejemplo, código que no queremos hacer público) podemos utilizar repositorios instalados en nuestra propia organización. Esto último también resulta útil para cachear las dependencias de Maven Central y conseguir que se descarguen más rápido a las máquinas de nuestros desarrolladores.
Los repositorios están organizados simplemente en directorios.
- Configuración de las dependencias de nuestro proyecto en el fichero pom.xml del mismo.
- Carpeta ${user.dir}/.m2, que es donde maven guarda y organiza las dependencias que se va descargando en nuestra máquina. Todos los JAR que hay ahí están disponibles para cualquier proyecto maven que utilicemos en nuestra máquina. Ahí es donde va a parar también nuestros JAR cuando ejecutamos la fase install.
Buscar la referencia a log4j
Añadir dependencia en el pom.xml del proyecto
…
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<scope>compile</scope>
</dependency>
Hay tres tipos de Scope: compile, test, runtime. Dependerá de que en qué fase se quiere tener disponible la dependencia.
Compilar y ver como se descarga la dependencia
mvn compile
Crear el fichero log4j.properties en la carpeta main/resources
Incluir este contenido:
# Root logger option
log4j.rootLogger=INFO, stdout
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
Modificar App.java para incluir un Logger
import org.apache.log4j.*;
…
static Logger log=Logger.getLogger(App.class);
…
log.info("Returning 1");
Testear el proyecto para observar el log
mvn test