O que é um artefato e por que o Maven precisa?
maven-metadata.xml
e um arquivo chamado <artifactId>-<version>.pom
. Ambos os arquivos têm algum esquema e semântica não documentados.
O que é um artefato e por que o Maven precisa?
maven-metadata.xml
e um arquivo chamado <artifactId>-<version>.pom
. Ambos os arquivos têm algum esquema e semântica não documentados.
Respostas:
Um artefato é um arquivo, geralmente um JAR, que é implementado em um repositório Maven.
Uma construção do Maven produz um ou mais artefatos, como um JAR compilado e um JAR de "origem".
Cada artefato possui um ID de grupo (geralmente um nome de domínio invertido, como com.example.foo), um ID de artefato (apenas um nome) e uma sequência de versões. Os três juntos identificam exclusivamente o artefato.
As dependências de um projeto são especificadas como artefatos.
Em termos gerais de software, um " artefato " é algo produzido pelo processo de desenvolvimento de software, seja uma documentação relacionada ao software ou um arquivo executável.
Na terminologia Maven, o artefato é a saída resultante da compilação Maven, geralmente uma jar
ou war
arquivo ou outro executável. Os artefatos no maven são identificados por um sistema de coordenadas de groupId, artifactId e version. Maven usa o groupId
, artifactId
e version
para identificar dependências (geralmente outros arquivos JAR) necessários para construir e executar o seu código.
Eu sei que esse é um tópico antigo, mas eu queria adicionar algumas nuances.
Existem artefatos do Maven, artefatos do gerenciador de repositório e outros Artifact
.
Um artefato do Maven é exatamente o que outros comentadores / respondentes dizem: é algo que é cuspido na construção de um projeto do Maven. Pode ser um .jar
arquivo, ou um .war
arquivo, ou um .zip
arquivo, ou um .dll
, ou o que você tem.
Um artefato do gerenciador de repositório é algo que é, bem, gerenciado por um gerenciador de repositório. Um gerenciador de repositório é basicamente um serviço de nomeação de alto desempenho para executáveis e bibliotecas de software. Um gerenciador de repositório não se importa de onde vêm seus artefatos (talvez eles venham de uma compilação Maven, ou um arquivo local, ou uma compilação Ant, ou uma compilação manual ...).
Um Maven Artifact
é uma classe Java que representa o tipo de "nome" desreferenciado por um gerenciador de repositório em um artefato do gerenciador de repositório. Quando usado neste sentido, um Artifact
é apenas um nome glorificado composta de peças como groupId
, artifactId
, version
, scope
, classifier
e assim por diante.
Para juntar tudo:
Artifact
s por meio de seus <dependency>
elementos.Artifact
s em arquivos, instruindo o gerenciador de repositório a enviar alguns artefatos do gerenciador de repositório que correspondam aos Artifact
s internos .Espero que ajude.
mvn install
, as pessoas são tentando descobrir o que colocar nessa entrada. Portanto, o nome completo do jar é o que você deve digitar -DartifactId=YOUR_ARTIFACT_ID
, certo? O nome completo do arquivo jar com a versão e .jar? Parece ser o que você está dizendo, mas ajudaria alguns a serem realmente explícitos. Outras respostas se aproximam disso, mas achei a sua melhor.
Maven organiza sua construção em projetos.
Um artifact
maven é um recurso gerado por um projeto maven. Cada projeto maven pode ter exatamente um artifact
como um jar, war, ear
, etc.
O arquivo de configuração do projeto "pom.xml"
descreve como o artefato é construído, como os testes de unidade são executados etc. Geralmente, uma construção de projeto de software com maven consiste em muitos projetos de maven que constroem artefatos (por exemplo, jarros ) que constituem o produto.
Por exemplo
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
Os artefatos do Maven não se limitam aos recursos java. Você pode gerar qualquer recurso necessário. Por exemplo, documentação, site do projeto, arquivos zip, bibliotecas nativas, etc.
Cada projeto maven possui um identificador exclusivo constituído por [groupId, artifactId, version]
. Quando um projeto maven requer recursos de outro projeto, uma dependência é configurada, pom.xml
usando o identificador mencionado acima. O Maven resolve automaticamente as dependências quando uma compilação é acionada. Os artefatos dos projetos necessários são carregados do local repository
, que é um diretório simples na página inicial do usuário ou de outros repositórios (remotos) especificados em você pom.xml
.
P. O que é Artefato no maven?
ANS: ARTIFACT é um JAR (WAR ou EAR), mas também pode ser outra coisa. Cada artefato possui,
P. Por que o Maven precisa deles?
Resp: Maven é usado para disponibilizá-los para nossos aplicativos.
-DartifactId=YOUR_ARTIFACT_ID
quando executar mvn instalar, apenas uma sugestão :)
Para preparar, o processo de construção é organizado como um conjunto de artefatos. Os artefatos incluem:
Os artefatos vivem em repositórios.
normalmente estamos falando da terminologia do Maven sobre o ID do grupo, o ID do artefato e a versão do instantâneo
ID do grupo: identidade do grupo do projeto ID do artefato: identidade do projeto Versão da captura instantânea: a versão usada pelo projeto.
O artefato nada mais é do que um arquivo resultante como Jar, War, Ear ....
simplesmente diz que Artefatos nada mais são que pacotes.