
{"id":23735,"date":"2024-03-11T18:03:00","date_gmt":"2024-03-11T17:03:00","guid":{"rendered":"https:\/\/contabo.com\/blog\/?p=23735"},"modified":"2025-05-25T13:26:37","modified_gmt":"2025-05-25T11:26:37","slug":"guia-de-comandos-maven-para-desarrolladores-java","status":"publish","type":"post","link":"https:\/\/contabo.com\/blog\/es\/guia-de-comandos-maven-para-desarrolladores-java\/","title":{"rendered":"Gu\u00eda de comandos Maven"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Los comandos Maven son una herramienta esencial para el desarrollo en Java, ya que optimizan el proceso de compilaci\u00f3n con eficiencia y precisi\u00f3n. Maven es m\u00e1s que una herramienta de automatizaci\u00f3n de compilaciones: act\u00faa como una herramienta integral de gesti\u00f3n y comprensi\u00f3n de proyectos. Simplifica la creaci\u00f3n de proyectos, la gesti\u00f3n de dependencias y la documentaci\u00f3n, convirti\u00e9ndose en un recurso indispensable para los desarrolladores. En proyectos Java, garantiza consistencia, mejora la comprensi\u00f3n del proyecto y facilita la colaboraci\u00f3n en equipo. Usando convenciones para la estructura del proyecto y un archivo XML para describirlo, Maven permite a los desarrolladores gestionar compilaciones, dependencias y documentaci\u00f3n con un m\u00ednimo esfuerzo. Esta hoja de referencia tiene como objetivo proporcionar a los desarrolladores, desde principiantes hasta profesionales experimentados, el conocimiento necesario para aprovechar eficazmente las capacidades de Maven, asegurando un proceso de desarrollo fluido y eficiente.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-instalacion-y-configuracion\"><strong>Instalaci\u00f3n y configuraci\u00f3n<\/strong><\/h2>\n\n\n\n<p>Para comenzar a usar Maven en distribuciones basadas en Debian, utilizar\u00e1s principalmente la terminal para la instalaci\u00f3n y configuraci\u00f3n. Comienza actualizando el \u00edndice de paquetes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\n<\/code><\/pre>\n\n\n\n<p>Luego, instala Maven con el siguiente comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install maven\n<\/code><\/pre>\n\n\n\n<p>Este comando descarga e instala Maven y sus dependencias en tu sistema. Para confirmar que Maven se instal\u00f3 correctamente, ejecuta:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn -version\n<\/code><\/pre>\n\n\n\n<p>Este comando muestra la versi\u00f3n actual de Maven instalada, verificando que est\u00e1 listo para usarse. Con Maven instalado, puedes aprovechar sus capacidades para tus proyectos Java, facilitando compilaciones y gesti\u00f3n de dependencias.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-comandos-basicos-de-maven\"><strong>Comandos b\u00e1sicos de Maven<\/strong><\/h2>\n\n\n\n<p>Maven simplifica la gesti\u00f3n de proyectos Java mediante su potente interfaz de l\u00ednea de comandos (CLI). Aqu\u00ed tienes los comandos esenciales que todo desarrollador debe conocer:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-crear-un-nuevo-proyecto\"><strong>Crear un nuevo proyecto<\/strong><\/h3>\n\n\n\n<p>Usa\u00a0<code>mvn archetype:generate<\/code>\u00a0para crear un nuevo proyecto a partir de una plantilla. Este comando solicita que definas el\u00a0<code>groupId<\/code>,\u00a0<code>artifactId<\/code>\u00a0y la versi\u00f3n de tu proyecto. Por ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-compilar-tu-proyecto\"><strong>Compilar tu proyecto<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn compile<\/code><\/pre>\n\n\n\n<p>Compila el c\u00f3digo fuente y coloca los archivos&nbsp;<code>.class<\/code>&nbsp;en el directorio&nbsp;<code>target\/classes<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-ejecutar-pruebas\"><strong>Ejecutar pruebas<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn test<\/code><\/pre>\n\n\n\n<p>Ejecuta las pruebas unitarias ubicadas en&nbsp;<code>src\/test<\/code>&nbsp;utilizando un framework como JUnit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-empaquetar-el-proyecto\"><strong>Empaquetar el proyecto<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn package<\/code><\/pre>\n\n\n\n<p>Empaqueta el proyecto en un archivo JAR, incluyendo c\u00f3digo compilado y recursos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-limpiar-el-proyecto\"><strong>Limpiar el proyecto<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn clean<\/code><\/pre>\n\n\n\n<p>Elimina el directorio&nbsp;<code>target<\/code>&nbsp;para comenzar con una compilaci\u00f3n limpia.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-gestion-de-dependencias\"><strong>Gesti\u00f3n de dependencias<\/strong><\/h3>\n\n\n\n<p>Maven automatiza la inclusi\u00f3n y gesti\u00f3n de bibliotecas necesarias para el proyecto.<\/p>\n\n\n\n<p><strong>Agregar una dependencia<\/strong><br>En el archivo&nbsp;<code>pom.xml<\/code>, dentro de&nbsp;<code>&lt;dependencies&gt;<\/code>, agrega:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;dependency&gt;\n    &lt;groupId&gt;junit&lt;\/groupId&gt;\n    &lt;artifactId&gt;junit&lt;\/artifactId&gt;\n    &lt;version&gt;4.13.2&lt;\/version&gt;\n    &lt;scope&gt;test&lt;\/scope&gt;\n&lt;\/dependency&gt;\n<\/code><\/pre>\n\n\n\n<p><strong>Actualizar y eliminar dependencias<\/strong><br>Edita o elimina el bloque correspondiente en&nbsp;<code>pom.xml<\/code>.<\/p>\n\n\n\n<p><strong>Ver el \u00e1rbol de dependencias<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn dependency:tree\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-fases-del-ciclo-de-vida-de-maven\"><strong>Fases del ciclo de vida de Maven<\/strong><\/h2>\n\n\n\n<p>Las fases del ciclo de vida representan los pasos para construir y distribuir un proyecto:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>mvn validate<\/code>: valida la estructura del proyecto.<\/li>\n\n\n\n<li><code>mvn compile<\/code>: compila el c\u00f3digo fuente.<\/li>\n\n\n\n<li><code>mvn test<\/code>: ejecuta pruebas.<\/li>\n\n\n\n<li><code>mvn package<\/code>: empaqueta el c\u00f3digo.<\/li>\n\n\n\n<li><code>mvn verify<\/code>: verifica la calidad.<\/li>\n\n\n\n<li><code>mvn install<\/code>: instala en el repositorio local.<\/li>\n\n\n\n<li><code>mvn deploy<\/code>: sube al repositorio remoto.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-plugins-de-maven\"><strong>Plugins de Maven<\/strong><\/h2>\n\n\n\n<p>Los plugins extienden las funciones de Maven. Algunos comunes:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-plugin-de-compilacion\"><strong>Plugin de compilaci\u00f3n<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;plugin&gt;\n    &lt;groupId&gt;org.apache.maven.plugins&lt;\/groupId&gt;\n    &lt;artifactId&gt;maven-compiler-plugin&lt;\/artifactId&gt;\n    &lt;version&gt;3.8.1&lt;\/version&gt;\n    &lt;configuration&gt;\n        &lt;source&gt;1.8&lt;\/source&gt;\n        &lt;target&gt;1.8&lt;\/target&gt;\n    &lt;\/configuration&gt;\n&lt;\/plugin&gt;\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-otros-plugins-comunes\"><strong>Otros plugins comunes:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>maven-surefire-plugin<\/code>: pruebas.<\/li>\n\n\n\n<li><code>maven-javadoc-plugin<\/code>: documentaci\u00f3n.<\/li>\n\n\n\n<li><code>maven-war-plugin<\/code>: empaquetado en WAR.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-comandos-avanzados-de-maven\"><strong>Comandos avanzados de Maven<\/strong><\/h2>\n\n\n\n<p><strong>Omitir pruebas<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn package -DskipTests<\/code><\/pre>\n\n\n\n<p><strong>Establecer propiedades<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn install -Dproperty=value<\/code><\/pre>\n\n\n\n<p><strong>Ejecutar metas espec\u00edficas<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn plugin:goal<\/code><\/pre>\n\n\n\n<p><strong>Modo depuraci\u00f3n<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn install -X<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-perfiles-de-maven\"><strong>Perfiles de Maven<\/strong><\/h2>\n\n\n\n<p>Los perfiles permiten personalizar configuraciones de compilaci\u00f3n:<\/p>\n\n\n\n<p><strong>Activar un perfil<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn package -Pproduction<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-optimizacion-de-compilaciones-maven\"><strong>Optimizaci\u00f3n de compilaciones Maven<\/strong><\/h2>\n\n\n\n<p><strong>Compilaciones paralelas<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn install -T 4<\/code><\/pre>\n\n\n\n<p><strong>Modo sin conexi\u00f3n<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn package -o\n<\/code><\/pre>\n\n\n\n<p><strong>Compilaciones incrementales<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn install -pl my-module -am<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-solucion-de-problemas-comunes\"><strong>Soluci\u00f3n de problemas comunes<\/strong><\/h2>\n\n\n\n<p><strong>Conflictos de dependencias<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn dependency:tree<\/code><\/pre>\n\n\n\n<p><strong>Errores de plugins:<\/strong>&nbsp;verifica versiones compatibles.<br><strong>Fallos de compilaci\u00f3n:<\/strong>&nbsp;revisa mensajes de error y usa&nbsp;<code>mvn -X<\/code>&nbsp;para m\u00e1s detalles.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusion\"><strong>Conclusi\u00f3n<\/strong><\/h2>\n\n\n\n<p>Esta hoja de referencia de comandos Maven es tu gu\u00eda para dominar sus capacidades, desde lo b\u00e1sico hasta configuraciones avanzadas y resoluci\u00f3n de errores. Maven optimiza la compilaci\u00f3n, mejora la gesti\u00f3n del proyecto y facilita el manejo de dependencias. Al dominar los comandos y estrategias aqu\u00ed descritas, mejorar\u00e1s tu flujo de trabajo, impulsando productividad y calidad en tus proyectos Java.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","protected":false},"excerpt":{"rendered":"<p>Los comandos Maven son una herramienta esencial para el desarrollo en Java, ya que optimizan el proceso de compilaci\u00f3n con eficiencia y precisi\u00f3n. Maven es m\u00e1s que una herramienta de automatizaci\u00f3n de compilaciones: act\u00faa como una herramienta integral de gesti\u00f3n y comprensi\u00f3n de proyectos. Simplifica la creaci\u00f3n de proyectos, la gesti\u00f3n de dependencias y la [&hellip;]<\/p>\n","protected":false},"author":50,"featured_media":23737,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1988],"tags":[2469,2475,2467,2474,2468,2466,2471,2473,2470,2472],"ppma_author":[1491],"class_list":["post-23735","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriales","tag-automatizacion-de-builds","tag-ciclo-de-vida-maven","tag-comandos-maven","tag-gestion-de-dependencias","tag-java","tag-maven","tag-perfiles-maven","tag-plugin-maven","tag-proyectos-java","tag-resolucion-de-conflictos-maven"],"uagb_featured_image_src":{"full":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2024\/03\/blog-head_maven-commands.jpg",1200,630,false],"thumbnail":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2024\/03\/blog-head_maven-commands-150x150.jpg",150,150,true],"medium":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2024\/03\/blog-head_maven-commands-600x315.jpg",600,315,true],"medium_large":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2024\/03\/blog-head_maven-commands-768x403.jpg",768,403,true],"large":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2024\/03\/blog-head_maven-commands.jpg",1200,630,false],"1536x1536":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2024\/03\/blog-head_maven-commands.jpg",1200,630,false],"2048x2048":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2024\/03\/blog-head_maven-commands.jpg",1200,630,false]},"uagb_author_info":{"display_name":"Tobias Mildenberger","author_link":"https:\/\/contabo.com\/blog\/es\/author\/tobias\/"},"uagb_comment_info":0,"uagb_excerpt":"Los comandos Maven son una herramienta esencial para el desarrollo en Java, ya que optimizan el proceso de compilaci\u00f3n con eficiencia y precisi\u00f3n. Maven es m\u00e1s que una herramienta de automatizaci\u00f3n de compilaciones: act\u00faa como una herramienta integral de gesti\u00f3n y comprensi\u00f3n de proyectos. Simplifica la creaci\u00f3n de proyectos, la gesti\u00f3n de dependencias y la&hellip;","authors":[{"term_id":1491,"user_id":50,"is_guest":0,"slug":"tobias","display_name":"Tobias Mildenberger","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/077178d5dce6c3d4c0c0396857a7e544bfdf8adf04145fff5160b33a22e28b1f?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/posts\/23735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/users\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=23735"}],"version-history":[{"count":4,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/posts\/23735\/revisions"}],"predecessor-version":[{"id":23747,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/posts\/23735\/revisions\/23747"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/media\/23737"}],"wp:attachment":[{"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=23735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=23735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=23735"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=23735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}