Author Topic: Donde estan los plugins clean install en el super pom  (Read 5424 times)

JobFer

  • Newbie
  • *
  • Posts: 12
  • Karma: 0
    • View Profile
Donde estan los plugins clean install en el super pom
« on: Agosto 03, 2023, 09:17:19 pm »
Hola!
este el el super pom de Maven 3.8.6
https://maven.apache.org/ref/3.0.4/maven-model-builder/super-pom.html
¿no deberían estar ahí los plugins clean, install, etc...?
Gracias!!

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5541
  • Karma: 12
    • View Profile
    • Apuntes de programación
Re: Donde estan los plugins clean install en el super pom
« Reply #1 on: Agosto 04, 2023, 09:25:49 am »
Hola

Maven tiene dos conceptos. Por un lado, las "fases" de construcción del proyecto. Y por otro "tareas" adicionales a hacer.

Las primeras, las fases, forman parte de maven y no están en un plugin. O dicho de otra forma, en un plugin preinstalado que no se necesita poner explícitamente. Son clean, validate, compile, test, package, verify, install y deploy.

Los segundos si necesitan de plugins adicionales, por ejemplo, dependency:copy-dependencies. Esto no es algo estándar en la construcción de un proyecto y se pone con un plugin adicional. Sin embargo, como es relativamente habitual, el plugin de dependency si viene en el super-pom.xml, al igual que el de assembly, release, ...

En cualquier caso, los plugins preinstalados de las fases de construcción puedes configurarlos. Por ejemplo, si pones el plugin "maven-compiler-plugin", puedes configurar cosas distintas a como viene ya preconfigurado. Por ejemplo, versión de java a usar (source y target).

Aquí tienes algo más de detalle introduction-to-the-lifecycle

Un saludo.

JobFer

  • Newbie
  • *
  • Posts: 12
  • Karma: 0
    • View Profile
Re: Donde estan los plugins clean install en el super pom
« Reply #2 on: Agosto 05, 2023, 12:06:08 am »
Gracias por contestar.
Pero no estoy de acuerdo, por lo siguiente:
Las fases del ciclo de vida "por defecto" (default) están vacías de contenido, es decir, no tienen asociado ningún "objetivo" (goal), puesto que el ciclo de vida "default" depende del tipo de empaquetado (packaging). No son los mismos "goals" para un tipo jar que para un tipo war, etc...
Por ese motivo, para poder ejecutar, por ejemplo, el comando "mvn compile", si no tenemos el plugin maven-compiler-plugin que aporte el "goal" compile a esa fase, no podemos ejecutar ese comando. Por tanto, es necesario tener el maven-compiler-plugin definido en el pom.xml o en el super pom.

Yo no encuentro el maven-compiler-plugin en ninguno de esos 2 lugares, pero lo que tengo claro es que en algún sitio está, porque lo puedo ver cuando obtengo el effective-pom. Ahí sí que aparece. Por consiguiente, mi pregunta es dónde está definido ese plugin.

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5541
  • Karma: 12
    • View Profile
    • Apuntes de programación
Re: Donde estan los plugins clean install en el super pom
« Reply #3 on: Septiembre 16, 2023, 02:57:24 pm »
Hola

Me he tropezado con esto, no sé si puede ayudar https://maven.apache.org/ref/3.9.4/maven-core/default-bindings.html

Saludos.