Qu'est-ce qu'un artefact et pourquoi Maven en a-t-il besoin?
Un artefact est un fichier, généralement un fichier JAR, qui est déployé dans un référentiel Maven.
Une construction Maven génère un ou plusieurs artefacts, tels qu'un fichier JAR compilé et un fichier JAR "sources".
Chaque artefact a un ID de groupe (généralement un nom de domaine inversé, tel que com.example.foo), un ID d'artefact (juste un nom) et une chaîne de version. Les trois ensemble identifient de manière unique l'artefact.
Les dépendances d'un projet sont spécifiées en tant qu'artefacts.
En termes généraux de logiciel, un " artefact " est quelque chose produit par le processus de développement logiciel, que ce soit une documentation relative au logiciel ou un fichier exécutable.
Dans la terminologie Maven, l'artefact est la sortie résultante de la construction maven, généralement un fichier jar
ou war
ou un autre fichier exécutable. Les artefacts dans maven sont identifiés par un système de coordonnées de groupId, artifactId et version. Maven utilise les variables groupId
, artifactId
et version
pour identifier les dépendances (généralement d'autres fichiers jar) nécessaires à la création et à l'exécution de votre code.
Je sais que c'est un fil ancien, mais je voulais ajouter quelques nuances.
Il existe des artefacts Maven, des artefacts de gestionnaire de référentiel, puis Maven Artifact
s.
Un artefact Maven est juste comme le disent d’autres commentateurs/répondants: c’est une chose qui a été crachée en construisant un projet Maven. Cela peut être un fichier .jar
, ou un fichier .war
, ou un fichier .Zip
, ou un .dll
, ou ce que vous avez.
Un artefact de gestionnaire de référentiel est une chose qui est, bien, gérée par un gestionnaire de référentiel. Un gestionnaire de référentiel est fondamentalement un service de nommage hautement performant pour les exécutables et les bibliothèques de logiciels. Un gestionnaire de référentiel ne se soucie pas de la provenance de ses artefacts (peut-être proviennent-ils d'une version Maven, d'un fichier local, d'une version Ant, ou d'une compilation manuelle ...).
Un Maven Artifact
est une classe Java qui représente le type de "nom" qui est déréférencé par un gestionnaire de référentiel dans un artefact de gestionnaire de référentiel. Lorsqu'il est utilisé dans ce sens, Artifact
est simplement un nom glorifié composé d'éléments tels que groupId
, artifactId
, version
, scope
, classifier
et ainsi de suite.
Pour tout mettre ensemble:
Artifact
s au moyen de ses éléments <dependency>
.Artifact
s en fichiers en demandant au gestionnaire de référentiel de lui envoyer des artefacts de gestionnaire de référentiel qui correspondent aux Artifact
s internes.J'espère que ça t'as aidé.
Maven organise ses projets de construction.
Un artifact
in maven est une ressource générée par un projet maven. Chaque projet maven peut avoir exactement un artifact
comme un jar, war, ear
, etc.
Le fichier de configuration du projet "pom.xml"
décrit comment l’artefact est construit, comment les tests unitaires sont exécutés, etc. Un projet logiciel construit avec maven consiste en de nombreux projets maven qui construisent constituent le produit.
Par exemple.
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
Les artefacts Maven ne se limitent pas à Java ressources. Vous pouvez générer toutes les ressources dont vous avez besoin. Par exemple. documentation, site du projet, archives ZIP, bibliothèques natives, etc.
Chaque projet maven a un identifiant unique composé de [groupId, artifactId, version]
. Lorsqu'un projet maven nécessite des ressources d'un autre projet, une dépendance est configurée dans pom.xml
à l'aide de l'identificateur susmentionné. Maven résout ensuite automatiquement les dépendances quand une construction est déclenchée. Les artefacts des projets requis sont ensuite chargés soit du répertoire local repository
, qui est un simple répertoire du répertoire de l'utilisateur, soit d'autres référentiels (distants) spécifiés dans votre pom.xml
.
Q. Qu'est-ce que Artifact in maven?
ANS: ARTIFACT est un JAR (WAR ou EAR), mais cela pourrait aussi être autre chose. Chaque artefact a,
Q.Pourquoi Maven en a-t-il besoin?
Ans: Maven est utilisé pour les rendre disponibles pour nos applications.
Un artefact est un fichier JAR ou quelque chose que vous stockez dans un référentiel. Maven les sort et construit votre code.
Pour créer, le processus de construction est organisé comme un ensemble d'artefacts. Les artefacts comprennent:
Les artefacts vivent dans des dépôts.
nous parlons généralement de la terminologie Maven à propos de l'identifiant de groupe, de l'identifiant d'artefact et de la version de l'instantané
Identifiant de groupe: identité du groupe du projet Identifiant d'artefact: identité du projet Version de l'instantané: version utilisée par le projet.
Artifact n'est rien d'autre qu'un fichier résultant, tel que Jar, War, Ear ....
dit simplement que les artefacts ne sont que des paquets.