====== Gestión de proyectos con Maven ======
===== ¿Qué es Maven? =====
===== Crear un proyecto con Maven ======
===== Añadir librerias (dependencias) a un proyecto ======
Para añadir una librería a un proyecto gestionado con Maven, primero tendremos que buscarla en el repositorio de la herramienta en [[https://mvnrepository.com/|Maven Repository]]. Una vez localizada la libreria y seleccionada su versión (tiene un buscador donde podéis buscar por nombre o descripción de la librería), tendremos que copiar el código XML que describe la libreria como dependencia y copiarla al fichero //pom.xml// de nuestro proyecto, dentro de las etiquetas '' . . . '' (Puedes ver un ejemplo [[https://datos.codeandcoke.com/apuntes:maven#fichero_pom_de_ejemplo|aqui]].
====== Ejemplos ======
===== Fichero POM de ejemplo =====
=== Dependencias para Hibernate y el driver JDBC de MySQL ===
Tendremos que incluir ambas dependencias dentro de las etiquetas '''' del fichero ''pom.xml''.
Para hibernate:
org.hibernatehibernate-core5.3.7.Final
Para MySQL:
mysqlmysql-connector-java8.0.13
=== Dependencia para generar javadoc ===
De forma similar, incluimos la dependencia para que podamos generar, utilizando Maven, la documentación //javadoc// de nuestro proyecto, que se creará cuando ejecutemos el //goal// ''javadoc:javadoc'' de Maven.
org.apache.maven.pluginsmaven-javadoc-plugin3.0.1
=== Plugin para empaquetar la aplicación y sus dependencias como un único jar ejecutable ===
Tendremos que añadir un plugin de maven para generar ficheros //jar//:
. . .
. . .
org.apache.maven.pluginsmaven-assembly-pluginpackagesinglecom.sfaci.ejemplohibernate.Aplicacionjar-with-dependencies
. . .
=== Plugin para especificar la versión de Java con la que se debe compilar ===
. . .
. . .
org.apache.maven.pluginsmaven-compiler-plugin3.8.01.8
. . .
=== Fichero pom.xml completo ===
Y a continuación un ejemplo completo de fichero ''pom.xml'' con todas las opciones que se han comentado, donde se puede ver dónde va cada una con respecto al resto del fichero.
4.0.0com.sfaciejemplohibernate0.1Ejemplo HibernateProyecto de ejemplo con Hibernateorg.hibernatehibernate-core5.3.7.Finalmysqlmysql-connector-java8.0.13org.apache.maven.pluginsmaven-javadoc-plugin3.0.1org.apache.maven.pluginsmaven-assembly-pluginpackagesinglecom.sfaci.ejemplohibernate.Aplicacionjar-with-dependenciesorg.apache.maven.pluginsmaven-compiler-plugin3.8.01.8
----
(c) 2016-2019 Santiago Faci