Describe el lifecycle de build de Maven y cómo arreglarías un conflicto de dependencias.
Respuesta
- Lifecycle: validate, compile, test, package, verify, install, deploy;
clean elimina target/. - Las dependencias se resuelven desde Maven Central o un repositorio de la empresa (Nexus/Artifactory) hacia
~/.m2. - Síntomas de conflicto:
NoSuchMethodError, ClassNotFoundException, dos versiones de la misma librería. - Diagnostica con
mvn dependency:tree (añade -Dverbose). - Solución: fija la versión en
dependencyManagement, añade <exclusions> para la versión transitiva no deseada, o importa un BOM. - Prevención: usa
maven-enforcer-plugin (dependencyConvergence), evita SNAPSHOTs en las releases.
Practica esta pregunta en Repaso