SlideShare una empresa de Scribd logo
PROYECTOS JAVA CON
gestiona de manera practica y profesional tus aplicaciones
Juan Vladimir
@juanvladimir13
Maven es una herramienta de software para la gestión y construcción de
proyectos Java
Tiene un modelo de configuración de construcción más simple, basado en un
formato XML
Maven utiliza un Project Object Model (POM) para describir el proyecto de
software a construir, sus dependencias de otros módulos y componentes
externos, y el orden de construcción de los elementos
Tus propios repositorios para un trabajo distribuido o local
El motor incluido en su núcleo puede dinámicamente descargar plugins de un
repositorio.
Provee acceso a muchas versiones de diferentes proyectos Open Source en
Java, de Apache, etc.
Maven provee soporte no solo para obtener archivos de su repositorio, sino
también para subir artefactos al repositorio al final de la construcción de la
aplicación, dejándola al acceso de todos los usuarios.
Proyectos JAVA con maven
Preparando el entorno de desarrollo
Tareas:
1. Descargar maven
2. Verificar requisitos mínimos para usar maven
3. Instalación y configuración de maven
3.1. Configurar directorio local del repository
4. Seleccionar IDE favorito
5. Integrar maven al IDE
1. Descargar
URL
https://maven.apache.org/download.cgi
https://www-eu.apache.org/dist/maven/maven-3/
2. Verificar requisitos mínimos
Java Development Kit (JDK)
Maven 3.3+ require JDK 1.7 or above to execute
Disk
Approximately 10MB is required for the Maven installation itself. In
addition to that, additional disk space will be used for your local Maven
repository.
Operating System
No minimum requirement.
Start up scripts are included as shell scripts and Windows batch files
3. Instalación y configuración de
Descomprimir el archivo descargado
Windows:
Agregar JDK a las variables de entorno del sistema:
Variable name: JAVA_HOME
Variable value: Javajdk1.x.0bin
Agregar al PATH
Variable name: Path
Variable value: Javajdk1.x.0bin; apache-maven-3.x.xbin
GNU/Linux
✔
Descomprimir el archivo descargado y agregar los permisos necesarios.
✔
Crear un acceso directo
sudo ln -s path_directory_maven/bin/mvn /usr/local/bin/
✔
Editar el archivo /home/user/.bashrc y agregar la variable de entorno
MAVEN_HOME=”/path_directory_maven”
Confirmar la instalación de maven
mvn -v
mvn --version
3. Instalación y configuración de
3.1. Configurar directorio local del repository
PATH_to_maven : Dirección completa donde descomprimimos la carpeta de maven
Crear carpeta
PATH_to_maven/repository
Editar el archivo
PATH_to_maven/conf/settings.xml
4. Selecciona tu IDE o editor de texto favorito
5. Integrando maven a
Paso 1
Windows -> Preferences -> Maven
Paso 2
Installations -> Add
Installations home -> Directory -> ( PATH_to_maven )
Archetypes -> Add local catalog
Catalog file -> Browse (archetype-catalog.xml)
User settings
Global settings
PATH_to_maven/conf/settings.xml
User settings
PATH_to_maven/conf/settings.xml
Local repository
PATH_to_maven/repository
Integrando maven a
Tools -> Options -> java -> maven
Execution -> Maven Home -> browse (PATH_to_maven)
Creando proyectos con
1. Estructura de un proyecto
2. Crear un proyecto estándar de java
3. Proyecto con múltiples módulos
3.1. Generando módulos para el proyecto padre
3.2. Resultado del proyecto creado
1. Estructura de un proyecto
Al utilizar maven varias estructuras de proyectos utiliza números para
identificar los proyectos:
Código Descripción
1379
org.apache.maven.archetypes:maven-archetype-quickstart
An archetype which contains a sample
Maven project
1673
org.codehaus.mojo.archetypes:pom-root
Root project archetype for creating
multi module projects
groupId: Típicamente aquí se pone el nombre de tu empresa u organización,
todos los proyectos con ese groupId pertenecen a una sola empresa.
artifactId: Es el nombre de tu proyecto.
version: Número de versión de tu proyecto.
package: Paquete base donde irá tu código fuente
2. Crear un proyecto estándar de java
Generando un nuevo proyecto de java desde la terminal:
mvn archetype:generate
Se despliega un programa interactivo para introducir datos del proyecto:
Opción Ejemplo
groupId com.empresa
artifactId proyecto
version 1.3
package com.empresa.paquete
3. Proyecto con múltiples módulos
Generando un nuevo proyecto con múltiples módulos desde la terminal:
mvn archetype:generate
Se despliega un programa interactivo para introducir datos del proyecto:
Introducir el código del proyecto 1673
1673 es el código de Root project archetype for creating multi module projects
3.1. Generando módulos para el proyecto padre
Generando un nuevo módulo desde la terminal:
Ingresar al directorio del proyecto creado
cd proyecto_padre
mvn archetype:generate
Introducir el número 1379
1379 es el código de An archetype which contains a sample Maven project
Repetir este procedimiento según la cantidad de módulos a crear
3.2. Resultado del proyecto creado
Estructura de directorios Archivo pom.xml del proyecto_padre
Gestionando el proyecto java con
1. Agregar dependencias del proyecto
2. Comandos más utilizados
3. Otros comandos
4. Ciclo de vida
1. Agregar dependencias del proyecto
Repositorio oficial de proyectos maven https://mvnrepository.com/
Localizar la librería o framework a adjuntar al proyecto ejemplo:
https://mvnrepository.com/artifact/junit/junit-dep/4.10
<!-- https://mvnrepository.com/artifact/junit/junit-dep -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit-dep</artifactId>
<version>4.10</version>
</dependency>
Agregar este contenido en el archivo pom.xml del proyecto dentro de:
<dependencies>
</dependencies>
compile: Genera los ficheros *.class compilando los fuentes *.java
test: Ejecuta los test automáticos de JUnit existentes, abortando el proceso si
alguno de ellos falla.
package: Genera el fichero *.jar con los *.class compilados
install: Copia el fichero *.jar a un directorio de nuestro ordenador donde maven
deja todos los .jar. De esta forma esos .jar pueden utilizarse en otros proyectos
maven en el mismo ordenador.
clean: Elimina todos los *.class y *.jar generados. Después de este comando se
puede comenzar un compilado desde cero.
2. Comandos más utilizados
3. Otros comandos
También existen algunas metas que están fuera del ciclo de vida que pueden
ser llamadas, (no tienen que ser siempre realizadas). Estas metas son:
assembly: Genera un fichero *.zip con todo lo necesario para instalar nuestro
programa java. Se debe configurar previamente en un fichero xml que se debe
incluir en ese zip.
deploy: Copia el fichero *.jar a un servidor remoto, poniéndolo disponible para
cualquier proyecto maven con acceso a ese servidor remoto.
site: Genera un sitio web con la información de nuestro proyecto. Dicha
información debe escribirse en el fichero pom.xml y ficheros .apt separados.
site-deploy: Sube el sitio web al servidor que hayamos configurado.
4. Ciclo de vida
Cuando se ejecuta
cualquiera de los
comandos maven, por
ejemplo, si ejecutamos
mvn install, maven irá
verificando todas las fases
del ciclo de vida desde la
primera hasta la del
comando, ejecutando solo
aquellas que no se hayan
ejecutado previamente
Properties and Plugins
1. Properties
2. Plugins
3. Plugins pluginManagement
Especificar versión de JDK a utilizar en el proyecto
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
1. Properties
Copiar las librerías utilizadas
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
2. Plugins
Especificar mainClass del proyecto
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<index>true</index>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix></classpathPrefix>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
<mainClass>com.empresa.App</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
2. Plugins pluginManagement
YA ERES TODO UN EXPERTO !!! : - )
Contactos y sugerencias
https://www.facebook.com/juanvladimir13
https://twitter.com/juanvladimir13
https://www.linkedin.com/in/juanvladimir13
https://www.instagram.com/juanvladimir13
@juanvladimir13
https://www.youtube.com/channel/UCk9R_mLgbc
ENR_BPF9M9asQ/videos
juanvladimir13@gmail.com
@juanvladimir13
http://juanvladimir13.wordpress.com
http://juanvladimir13.blogspot.com
https://github.com/juanvladimir13
https://bitbucket.org/juanvladimir13
https://www.facebook.com/groups/nucleolinux.uagrm
https://github.com/nucleolinux-uagrm
https://t.me/nucleolinux_uagrm

Más contenido relacionado

PDF
ITX3999 - Restaurant Management System Disseration.compressed (1)-ilovepdf-co...
PDF
Liit tyit sem 5 spm unit 1 notes most imp questions with answers
ODP
Quizz dangers internet
PDF
computer virus Report
DOC
A Project Report on Linux Server Administration
PDF
Life care Blood Bank Management System Report
DOCX
Blood donation
PDF
IRJET - Secure Organ Donation using Blockchain Technology
ITX3999 - Restaurant Management System Disseration.compressed (1)-ilovepdf-co...
Liit tyit sem 5 spm unit 1 notes most imp questions with answers
Quizz dangers internet
computer virus Report
A Project Report on Linux Server Administration
Life care Blood Bank Management System Report
Blood donation
IRJET - Secure Organ Donation using Blockchain Technology

Similar a Proyectos JAVA con maven (20)

PPTX
Maven Overview
PDF
Integrando sonar
PDF
PPTX
FROM lost to the Docker 2020
PDF
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
PPT
Semana9 Vbr
PPTX
PDF
Tutorial mysqlphp
PDF
Tutorial de php y my sql completo
PDF
633f9e tutorial de php y my sql completo
PDF
633f9e tutorial de php y my sql completo
PDF
Tutorial de php y my sql completo
PDF
633f9e tutorial de php y my sql completo (1)
PDF
Php andmysql (1)
PDF
Tutorial de php y my sql completo
PDF
Tutorial de php y my sql completo
PDF
FROM lost to the docker
PDF
Vagrant y Docker - Guía práctica de uso
PDF
Herramientas Java
PDF
Gestión del software con Maven y Jenkins
Maven Overview
Integrando sonar
FROM lost to the Docker 2020
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
Semana9 Vbr
Tutorial mysqlphp
Tutorial de php y my sql completo
633f9e tutorial de php y my sql completo
633f9e tutorial de php y my sql completo
Tutorial de php y my sql completo
633f9e tutorial de php y my sql completo (1)
Php andmysql (1)
Tutorial de php y my sql completo
Tutorial de php y my sql completo
FROM lost to the docker
Vagrant y Docker - Guía práctica de uso
Herramientas Java
Gestión del software con Maven y Jenkins
Publicidad

Más de Juan Vladimir (16)

PDF
Software Libre en la Carrera de Ciencias de la Computacion
PDF
Install apps in ubuntu
PDF
Proyectos java-con-maven
PDF
Virus informatico
PDF
Sistema operativo GNU/Linux
PDF
Primeros pasos con git
PDF
Install odoo in windows
PDF
Install apps in ubuntu
PDF
Hard Disk particion
PDF
BIOS - UEFI
PDF
Conceptos básicos de Unit Test
PDF
Instalacion y configuracion de Android Studio
PDF
Lenguaje de programación Java
PDF
Unit Test con Embarcadero RAD Studio
PDF
Lenguaje de programación Pascal
PDF
Creando un repositorio local en Ubuntu
Software Libre en la Carrera de Ciencias de la Computacion
Install apps in ubuntu
Proyectos java-con-maven
Virus informatico
Sistema operativo GNU/Linux
Primeros pasos con git
Install odoo in windows
Install apps in ubuntu
Hard Disk particion
BIOS - UEFI
Conceptos básicos de Unit Test
Instalacion y configuracion de Android Studio
Lenguaje de programación Java
Unit Test con Embarcadero RAD Studio
Lenguaje de programación Pascal
Creando un repositorio local en Ubuntu
Publicidad

Último (6)

PPTX
sistemas de informacion.................
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PPTX
Conceptos basicos de Base de Datos y sus propiedades
sistemas de informacion.................
Derechos_de_Autor_y_Creative_Commons.pptx
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
AutoCAD Herramientas para el futuro, Juan Fandiño
Su punto de partida en la IA: Microsoft 365 Copilot Chat
Conceptos basicos de Base de Datos y sus propiedades

Proyectos JAVA con maven

  • 1. PROYECTOS JAVA CON gestiona de manera practica y profesional tus aplicaciones Juan Vladimir @juanvladimir13
  • 2. Maven es una herramienta de software para la gestión y construcción de proyectos Java Tiene un modelo de configuración de construcción más simple, basado en un formato XML Maven utiliza un Project Object Model (POM) para describir el proyecto de software a construir, sus dependencias de otros módulos y componentes externos, y el orden de construcción de los elementos
  • 3. Tus propios repositorios para un trabajo distribuido o local El motor incluido en su núcleo puede dinámicamente descargar plugins de un repositorio. Provee acceso a muchas versiones de diferentes proyectos Open Source en Java, de Apache, etc. Maven provee soporte no solo para obtener archivos de su repositorio, sino también para subir artefactos al repositorio al final de la construcción de la aplicación, dejándola al acceso de todos los usuarios.
  • 5. Preparando el entorno de desarrollo Tareas: 1. Descargar maven 2. Verificar requisitos mínimos para usar maven 3. Instalación y configuración de maven 3.1. Configurar directorio local del repository 4. Seleccionar IDE favorito 5. Integrar maven al IDE
  • 7. 2. Verificar requisitos mínimos Java Development Kit (JDK) Maven 3.3+ require JDK 1.7 or above to execute Disk Approximately 10MB is required for the Maven installation itself. In addition to that, additional disk space will be used for your local Maven repository. Operating System No minimum requirement. Start up scripts are included as shell scripts and Windows batch files
  • 8. 3. Instalación y configuración de Descomprimir el archivo descargado Windows: Agregar JDK a las variables de entorno del sistema: Variable name: JAVA_HOME Variable value: Javajdk1.x.0bin Agregar al PATH Variable name: Path Variable value: Javajdk1.x.0bin; apache-maven-3.x.xbin
  • 9. GNU/Linux ✔ Descomprimir el archivo descargado y agregar los permisos necesarios. ✔ Crear un acceso directo sudo ln -s path_directory_maven/bin/mvn /usr/local/bin/ ✔ Editar el archivo /home/user/.bashrc y agregar la variable de entorno MAVEN_HOME=”/path_directory_maven” Confirmar la instalación de maven mvn -v mvn --version 3. Instalación y configuración de
  • 10. 3.1. Configurar directorio local del repository PATH_to_maven : Dirección completa donde descomprimimos la carpeta de maven Crear carpeta PATH_to_maven/repository Editar el archivo PATH_to_maven/conf/settings.xml
  • 11. 4. Selecciona tu IDE o editor de texto favorito
  • 12. 5. Integrando maven a Paso 1 Windows -> Preferences -> Maven Paso 2 Installations -> Add Installations home -> Directory -> ( PATH_to_maven ) Archetypes -> Add local catalog Catalog file -> Browse (archetype-catalog.xml) User settings Global settings PATH_to_maven/conf/settings.xml User settings PATH_to_maven/conf/settings.xml Local repository PATH_to_maven/repository
  • 13. Integrando maven a Tools -> Options -> java -> maven Execution -> Maven Home -> browse (PATH_to_maven)
  • 14. Creando proyectos con 1. Estructura de un proyecto 2. Crear un proyecto estándar de java 3. Proyecto con múltiples módulos 3.1. Generando módulos para el proyecto padre 3.2. Resultado del proyecto creado
  • 15. 1. Estructura de un proyecto Al utilizar maven varias estructuras de proyectos utiliza números para identificar los proyectos: Código Descripción 1379 org.apache.maven.archetypes:maven-archetype-quickstart An archetype which contains a sample Maven project 1673 org.codehaus.mojo.archetypes:pom-root Root project archetype for creating multi module projects groupId: Típicamente aquí se pone el nombre de tu empresa u organización, todos los proyectos con ese groupId pertenecen a una sola empresa. artifactId: Es el nombre de tu proyecto. version: Número de versión de tu proyecto. package: Paquete base donde irá tu código fuente
  • 16. 2. Crear un proyecto estándar de java Generando un nuevo proyecto de java desde la terminal: mvn archetype:generate Se despliega un programa interactivo para introducir datos del proyecto: Opción Ejemplo groupId com.empresa artifactId proyecto version 1.3 package com.empresa.paquete
  • 17. 3. Proyecto con múltiples módulos Generando un nuevo proyecto con múltiples módulos desde la terminal: mvn archetype:generate Se despliega un programa interactivo para introducir datos del proyecto: Introducir el código del proyecto 1673 1673 es el código de Root project archetype for creating multi module projects
  • 18. 3.1. Generando módulos para el proyecto padre Generando un nuevo módulo desde la terminal: Ingresar al directorio del proyecto creado cd proyecto_padre mvn archetype:generate Introducir el número 1379 1379 es el código de An archetype which contains a sample Maven project Repetir este procedimiento según la cantidad de módulos a crear
  • 19. 3.2. Resultado del proyecto creado Estructura de directorios Archivo pom.xml del proyecto_padre
  • 20. Gestionando el proyecto java con 1. Agregar dependencias del proyecto 2. Comandos más utilizados 3. Otros comandos 4. Ciclo de vida
  • 21. 1. Agregar dependencias del proyecto Repositorio oficial de proyectos maven https://mvnrepository.com/ Localizar la librería o framework a adjuntar al proyecto ejemplo: https://mvnrepository.com/artifact/junit/junit-dep/4.10 <!-- https://mvnrepository.com/artifact/junit/junit-dep --> <dependency> <groupId>junit</groupId> <artifactId>junit-dep</artifactId> <version>4.10</version> </dependency> Agregar este contenido en el archivo pom.xml del proyecto dentro de: <dependencies> </dependencies>
  • 22. compile: Genera los ficheros *.class compilando los fuentes *.java test: Ejecuta los test automáticos de JUnit existentes, abortando el proceso si alguno de ellos falla. package: Genera el fichero *.jar con los *.class compilados install: Copia el fichero *.jar a un directorio de nuestro ordenador donde maven deja todos los .jar. De esta forma esos .jar pueden utilizarse en otros proyectos maven en el mismo ordenador. clean: Elimina todos los *.class y *.jar generados. Después de este comando se puede comenzar un compilado desde cero. 2. Comandos más utilizados
  • 23. 3. Otros comandos También existen algunas metas que están fuera del ciclo de vida que pueden ser llamadas, (no tienen que ser siempre realizadas). Estas metas son: assembly: Genera un fichero *.zip con todo lo necesario para instalar nuestro programa java. Se debe configurar previamente en un fichero xml que se debe incluir en ese zip. deploy: Copia el fichero *.jar a un servidor remoto, poniéndolo disponible para cualquier proyecto maven con acceso a ese servidor remoto. site: Genera un sitio web con la información de nuestro proyecto. Dicha información debe escribirse en el fichero pom.xml y ficheros .apt separados. site-deploy: Sube el sitio web al servidor que hayamos configurado.
  • 24. 4. Ciclo de vida Cuando se ejecuta cualquiera de los comandos maven, por ejemplo, si ejecutamos mvn install, maven irá verificando todas las fases del ciclo de vida desde la primera hasta la del comando, ejecutando solo aquellas que no se hayan ejecutado previamente
  • 25. Properties and Plugins 1. Properties 2. Plugins 3. Plugins pluginManagement
  • 26. Especificar versión de JDK a utilizar en el proyecto <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> 1. Properties
  • 27. Copiar las librerías utilizadas <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.0.1</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>true</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> </configuration> </execution> </executions> </plugin> 2. Plugins
  • 28. Especificar mainClass del proyecto <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.0.2</version> <configuration> <archive> <index>true</index> <manifest> <addClasspath>true</addClasspath> <classpathPrefix></classpathPrefix> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> <mainClass>com.empresa.App</mainClass> </manifest> </archive> </configuration> </plugin> 2. Plugins pluginManagement
  • 29. YA ERES TODO UN EXPERTO !!! : - )