¿Cuál es la diferencia entre mvn package y mvn install?
Opciones
- No hay diferencia entre ellos en los builds de Maven
packagecrea el JAR;installademás lo copia a ~/.m2 (Opción correcta)installelimina el JAR detarget/tras construirpackagesube el JAR al repositorio de internet
Respuesta
package construye el JAR en target/; install además lo copia a tu repositorio Maven local (~/.m2) para que otros proyectos locales puedan depender de él
Por qué
Ambos compilan, prueban y empaquetan. mvn package se detiene tras crear el JAR o WAR en la carpeta target/.
mvn install va más allá y copia el artefacto al repositorio local (~/.m2/repository), para que otros proyectos de tu máquina lo usen como dependencia.
mvn deploy va aún más lejos y lo sube a un repositorio remoto compartido (Nexus, Artifactory) para tu equipo.
Un comando común de cada día es mvn clean install.
mvn clean install # delete target/, build, test, install locally
mvn clean package -DskipTests # build without running testsRecuerda
package = JAR en target. install = + repo local. deploy = + repo remoto.