una sirve repositorios qué que para ejemplo dependencias dependencia conceptos basicos agregar java build maven

java - sirve - ¿Qué es un artefacto Maven?



qué es y para qué sirve maven (8)

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


En términos generales de software, un " artifact " 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 el resultado resultante de la construcción de 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 usa groupId , artifactId y la version para identificar las dependencias (generalmente otros archivos jar) necesarias para compilar y ejecutar su código.


Maven organiza su construcción en proyectos.

Un artifact en maven es un recurso generado por un proyecto de maven. Cada proyecto de experto puede tener exactamente un artifact como un 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 unitarias, etc. Comúnmente, un proyecto de software con Maven consiste en muchos proyectos que construyen artefactos (por ejemplo, tarros) 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 se limitan a los recursos de Java. Puedes generar cualquier recurso que necesites. Por ejemplo, documentación, sitio de proyecto, archivos zip, bibliotecas nativas, etc.

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


Para los expertos, el proceso de construcción se organiza como un conjunto de artefactos. Los artefactos incluyen:

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

Los artefactos viven en repositorios.


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

Hay artefactos de Maven, artefactos del administrador del repositorio y luego están los Artifact Maven.

Un artefacto de Maven es tal como dicen otros comentaristas / respondedores: es algo que se escupe al construir un proyecto de 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 gestor de repositorio es una cosa que está bien gestionada por un gestor de repositorio. Un administrador de repositorios es básicamente un servicio de nombres de alto rendimiento para bibliotecas y ejecutables de software. A un administrador de repositorios no le importa de dónde provienen sus artefactos (tal vez provengan de una compilación de Maven, un archivo local, una compilación de Ant o una compilación manual ...).

Un Artifact Maven es una clase de Java que representa el tipo de "nombre" que un administrador de repositorio hace referencia a un artefacto de administrador de repositorio. 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 de Maven probablemente depende de varios Artifact través de sus elementos de <dependency> .
  • Maven interactúa con un administrador de repositorios para resolver esos Artifact en archivos al indicar al administrador de repositorios que le envíe algunos artefactos de administrador de repositorios que correspondan a los Artifact internos.
  • Finalmente, después de la resolución, Maven construye tu proyecto y produce un artefacto Maven. Puede elegir "convertir esto en" un artefacto de administrador de repositorio utilizando, a su vez, la herramienta que desee, enviándola al administrador de repositorio con información de coordinación suficiente para que otras personas puedan encontrarla cuando se lo pidan al administrador del repositorio.

Espero que ayude.


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


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

Una construcción de Maven produce uno o más artefactos, como un JAR compilado y un JAR de "fuentes".

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

Las dependencias de un proyecto se especifican como artefactos.


por lo general, hablamos de 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 del proyecto Versión de instantánea: 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.


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

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

P. ¿Por qué los necesita Maven?
Respuesta: Maven se utiliza para que estén disponibles para nuestras aplicaciones.

Respuesta simple a una pregunta simple :)