¿Qué es un artefacto y por qué Maven lo necesita?
maven-metadata.xml
y un archivo llamado <artifactId>-<version>.pom
. Ambos archivos tienen algún esquema y semántica indocumentados.
¿Qué es un artefacto y por qué Maven lo necesita?
maven-metadata.xml
y un archivo llamado <artifactId>-<version>.pom
. Ambos archivos tienen algún esquema y semántica indocumentados.
Respuestas:
Un artefacto es un archivo, generalmente un JAR, que se implementa en un repositorio Maven.
Una compilación de Maven produce uno o más artefactos, como un JAR compilado y un JAR de "fuentes".
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 acumulación experto, generalmente una jar
o war
archivo ejecutable o de otro tipo. Los artefactos en maven se identifican mediante un sistema de coordenadas de groupId, artifactId y version. Maven usa el groupId
, artifactId
y version
para identificar dependencias (generalmente otros archivos jar) necesarias para construir y ejecutar su código.
Sé que este es un hilo antiguo pero quería agregar algunos matices.
Hay artefactos de Maven, artefactos de administrador de repositorio y luego están los de Maven Artifact
.
Un artefacto de Maven es tal como dicen otros comentaristas / respondedores: es algo que se escupió al construir un proyecto de Maven. Eso podría ser un .jar
archivo, o un .war
archivo, o un .zip
archivo, o un .dll
, o lo que sea.
Un artefacto de administrador de repositorio es algo que, bueno, es administrado por un administrador de repositorio. Un administrador de repositorios es básicamente un servicio de nombres de alto rendimiento para ejecutables de software y bibliotecas. A un administrador de repositorio no le importa de dónde provienen sus artefactos (tal vez provienen de una compilación Maven, o un archivo local, o una compilación Ant, o una compilación manual ...).
Un Maven Artifact
es una clase Java que representa el tipo de "nombre" que un administrador de repositorio desreferencia en un artefacto de administrador de repositorio. Cuando se utiliza en este sentido, una Artifact
es sólo un nombre glorificado compuesto de partes tales como groupId
, artifactId
, version
, scope
, classifier
y así sucesivamente.
Para poner todo junto:
Artifact
s a través de sus <dependency>
elementos.Artifact
correos electrónicos al ordenarle al administrador del repositorio que le envíe algunos artefactos del administrador de repositorios que corresponden a los correos Artifact
electrónicos internos .Espero que ayude.
mvn install
, las personas son tratando de averiguar qué poner en esa entrada. Entonces, el nombre completo del frasco es para qué ingresar -DartifactId=YOUR_ARTIFACT_ID
, ¿es así? El nombre completo del archivo jar con versión y .jar? Parece ser lo que estás diciendo, pero ayudaría a algunos a ser realmente explícitos. Otras respuestas se acercan a esto, pero pensé que la tuya era la mejor.
Maven organiza su construcción en proyectos.
Un artifact
in maven es un recurso generado por un proyecto maven. Cada proyecto de Maven puede tener exactamente uno 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 unitarias, etc. Comúnmente, una construcción de proyecto de software con Maven consta de muchos proyectos de Maven que construyen 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 se limitan a los recursos de Java. Puede generar cualquier recurso que necesite. Por ejemplo, documentación, sitio del proyecto, archivos zip, bibliotecas nativas, etc.
Cada proyecto Maven tiene un identificador único que consiste en [groupId, artifactId, version]
. Cuando un proyecto maven requiere recursos de otro proyecto, se configura una dependencia en la que se pom.xml
utiliza el identificador mencionado anteriormente. Maven resuelve automáticamente las dependencias cuando se activa una compilación. Los artefactos de los proyectos requeridos se cargan desde el local repository
, que es un directorio simple en el hogar de su usuario, o desde otros repositorios (remotos) especificados en usted pom.xml
.
P. ¿Qué es artefacto en maven?
RESPUESTA: ARTIFACT es un JAR (WAR o EAR), pero también podría ser otra cosa. Cada artefacto tiene,
P. ¿Por qué los necesita Maven?
Respuesta: Maven se utiliza para que estén disponibles para nuestras aplicaciones.
-DartifactId=YOUR_ARTIFACT_ID
explique en qué se supone que debemos escribir al ejecutar mvn install, solo una sugerencia :)
Para maven, el proceso de construcción se organiza como un conjunto de artefactos. Los artefactos incluyen:
Los artefactos viven en repositorios.
usualmente hablamos de Maven Terminology 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.
Artifact no es más que un archivo resultante como Jar, War, Ear ...
simplemente dice que los artefactos no son más que paquetes.