¿Qué es un artefacto Maven?

¿Qué es un artefacto y por qué Maven lo necesita?

Un artefacto es un archivo, generalmente un JAR, que se implementa en un repository de Maven.

Una construcción Maven produce uno o más artefactos, como un JAR comstackdo y un JAR de “fonts”.

Cada artefacto tiene una ID de grupo (generalmente un nombre de dominio invertido, como com.example.foo), una ID de artefacto (solo un nombre) y una cadena de versión. Los tres juntos identifican de forma única el artefacto.

Las dependencias de un proyecto se especifican como artefactos.

En términos generales de software, un ” artefacto ” es algo producido por el proceso de desarrollo de software, ya sea documentación relacionada con el software o un archivo ejecutable.

En la terminología de Maven, el artefacto es la salida resultante de la construcción maven, generalmente un archivo jar o war u otro archivo ejecutable. Los artefactos en maven se identifican mediante un sistema de coordenadas de groupId, artifactId y version. Maven utiliza groupId , artifactId y version para identificar las dependencias (generalmente otros archivos jar) necesarias para comstackr y ejecutar su código.

Maven organiza su construcción en proyectos.

Un artifact en maven es un recurso generado por un proyecto maven. Cada proyecto de maven puede tener exactamente un artifact como jar, war, ear , etc.
El archivo de configuración del proyecto "pom.xml" describe cómo se construye el artefacto, cómo se ejecutan las pruebas de unidad, etc. Comúnmente, la construcción de un proyecto de software con maven consiste en muchos proyectos maven que crean artefactos (por ejemplo, jarras) que constituyen el producto.
P.ej

 Root-Project // produces no artifact, simply triggers the build of the other projects App-Project // The application, that uses the libraries Lib1-Project // A project that creates a library (jar) Lib2-Project // Another library Doc-Project // A project that generates the user documentation from some resources 

Los artefactos de Maven no están limitados a los recursos de Java. Puede generar cualquier recurso que necesite. Por ejemplo, documentación, sitio del proyecto, archivos comprimidos, bibliotecas nativas, etc.

Cada proyecto de maven tiene un identificador único consistente en [groupId, artifactId, version] . Cuando un proyecto maven requiere recursos de otro proyecto, se configura una dependencia en su pom.xml utilizando el identificador mencionado anteriormente. Maven luego resuelve automáticamente las dependencias cuando se genera una comstackción. Los artefactos de los proyectos necesarios se cargan desde el repository local, que es un directorio simple en el hogar de su usuario, o desde otros repositorys (remotos) especificados en usted pom.xml .

Sé que este es un hilo antiguo, pero quería agregar algunos matices.

Hay artefactos Maven, artefactos de administrador de repository y luego hay Artifact Maven.

Un artefacto Maven es tal como dicen otros comentaristas / respondedores: es algo que se escuchan al construir un proyecto Maven. Eso podría ser un archivo .jar , o un archivo .war , o un archivo .zip , o un .dll , o lo que sea.

Un artefacto de administrador de repository es una cosa que, bueno, es administrada por un administrador de repository. Un gestor de repository es básicamente un servicio de nombres de alto rendimiento para ejecutables y bibliotecas de software. A un administrador de repositorys no le importa de dónde provienen sus artefactos (tal vez provengan de una comstackción Maven, o un archivo local, o una comstackción Ant, o una comstackción manual …).

Un Artifact Maven es una clase de Java que representa el tipo de “nombre” que un administrador de repositorys desreferencia en un artefacto de gestor de repository. Cuando se usa en este sentido, un Artifact es solo un nombre glorificado formado por partes como groupId , artifactId , version , scope , classifier , etc.

Para ponerlo todo junto:

  • Su proyecto Maven probablemente dependa de varios Artifact través de sus elementos de .
  • Maven interactúa con un administrador de repositorys para resolver esos Artifact en archivos ordenando al administrador del repository que le envíe algunos artefactos del administrador de repository que corresponden a los Artifact internos.
  • Finalmente, después de la resolución, Maven construye su proyecto y produce un artefacto Maven. Puede optar por “convertir esto en un artefacto de gestor de repository utilizando, a su vez, la herramienta que desee, enviándola al gestor de repository con suficiente información de coordinación para que otras personas puedan encontrarla cuando le pregunten al administrador de repositorys.

Espero que ayude.

P. ¿Qué es Artefacto en maven?
ANS: ARTIFACT es un JAR, (WAR o EAR), pero podría ser también otra cosa. Cada artefacto tiene,

  • una ID de grupo (como com.your.package),
  • una identificación de artefacto (solo un nombre), y
  • una cadena de versión.
    Los tres juntos identifican de forma única el artefacto.

Q. ¿Por qué Maven los necesita?
Resp .: Maven se usa para ponerlos a disposición para nuestras aplicaciones.

Respuesta simple a una pregunta simple 🙂

Un artefacto es un JAR o algo que usted almacena en un repository. Maven los saca y construye tu código.

Para maven, el proceso de comstackción está organizado como un conjunto de artefactos. Los artefactos incluyen:

  1. Los complementos que componen Maven.
  2. Dependencias de las que depende tu código
  3. Cualquier cosa que produzca tu construcción puede, a su vez, ser consumida por otra cosa.

Los artefactos viven en repositorys.

por lo general estamos hablando de la terminología de Maven sobre ID de grupo, Id de artefacto y versión de instantánea

ID de grupo: identidad del grupo del proyecto Id de artefacto: identidad de la versión de instantánea del proyecto: la versión utilizada por el proyecto.

El artefacto no es más que un archivo resultante como Jar, War, Ear …

simplemente dice que los artefactos no son más que paquetes.