O que o mvn install em maven faz exatamente
comecei a usar o Maven e disseram-me para fazer {[[0]} num directório específico.
O que faz exactamente? acho que procura por pom.xml
na pasta actual e começa a seguir as instruções especificadas nesse ficheiro. Está correcto?
5 answers
Como deve saber, o Maven é uma ferramenta de automação de compilação fornecida pelo Apache que faz mais do que Gestão de dependências. Nós podemos fazê-lo como um par de Formiga e Makefile que transfere todas as dependências necessárias.
Numa mvn install
, ele molda uma árvore de dependências com base na configuração do projecto pom.xml
em todos os sub-projectos sob o super pom.xml
(o POM raiz) e transfere/compila todos os componentes necessários numa pasta chamada .m2
sob a pasta do utilizador. As as dependências terão de ser resolvidas para que o projecto seja construído sem quaisquer erros, e mvn install
é um utilitário que poderá transferir a maioria das dependências.
Além disso, existem outros utils dentro de Maven como dependency:resolve
que podem ser usados separadamente em qualquer caso específico. O ciclo de vida da construção do mvn é como abaixo:
process-resources
compile
process-test-resources
test-compile
test
package
install
deploy
A fase de ensaio deste mvn pode ser ignorada utilizando uma bandeira -DskipTests=true
.
Já viu algum dos documentos Maven, por exemplo, o plugin de instalação maven docs?
Versão resumida: irá construir o projecto e instalá-lo no seu repositório local.
Irá executar todos os objectivos de todos os plugins configurados associados a qualquer fase do ciclo de vida predefinido até à fase" instalar":
Https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
O objectivo install:install
é fornecido pelo "plugin Apache Maven Install":
Dito isto, o objectivo EXACTO:Apache Maven Install Plugin
O Plugin de instalação é usado durante a fase de instalação para adicionar artefactos ao repositório local. O plugin de instalação usa a informação no POM (
groupId
,artifactId
,version
) para determinar a localização correcta do artefacto dentro do repositório local.O repositório local é a 'cache' local onde todos os artefactos necessários para a compilação são armazenados. Por por omissão, está localizado dentro da pasta pessoal do utilizador (
~/.m2/repository
), mas a localização pode ser configurada em~/.m2/settings.xml
Usando o elemento<localRepository>
.
install:install
é usado para instalar automaticamente o principal Artefato do projeto (o JAR, a guerra ou a orelha), seu POM e quaisquer artefatos anexados (fontes, javadoc, etc) produzidos por um projeto particular.
Para mais detalhes sobre o objectivo, consulte por favor a página Apache Maven Install - install:install.
Para mais pormenores sobre o ciclo de vida da construção em geral e sobre qual o local que o objectivo tem no ciclo de vida da construção, consulte por favor a Página Maven – Introdução ao ciclo de vida da Construção.
-DskipTests=true
é forma curta de -Dmaven.test.skip=true
Faça alterações na configuração de .xml no seu .pasta m2 . Você pode usar link para o repo local de modo que os frascos uma vez downlaoded não deve ser baixado de novo e de novo.
<url>file://C:/Users/admin/.m2/repository</url>
</repository>