Pacote Mvn install ou Mvn

Sou novo na Maven, tenho um projecto Web baseado em Java com a maven configurada no meu MyEclipse.
Agora, se eu modifiquei alguns arquivos java, então eu preciso fazer Run as -> Mvn install ou Mvn package?

Author: Johan, 2013-03-20

8 answers

De http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

package: tome o código compilado e embalá-lo em sua distribuível formato, como um frasco.

install: instalar o pacote no repositório local, para ser usado como um dependência de outros projectos localmente

Então a resposta à sua pergunta é, depende se você quer que ele seja instalado em seu repo local. O Install também irá executar o pacote porque é mais alto na pilha de fase de golo.

 125
Author: ezcodr, 2015-07-16 19:17:29

mvn install é a opção que é mais usada.
mvn package é raramente usado, apenas se você estiver debugando algum problema com o processo de construção maven.

Ver: http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

Note que mvn package só irá criar um ficheiro jar.
mvn install vai fazer isso e instalar o frasco (e classe etc.) arquivos nos lugares apropriados, se outro código depende desses frascos.

Normalmente faço um mvn clean install; isto apaga a pasta target e recria todos os frascos nesse local.
A limpeza ajuda com coisas desnecessárias ou removidas que às vezes podem ficar no caminho.
Rather then debug (some of the time) just start fresh all the time.

 25
Author: Johan, 2013-03-20 17:51:05

Da referência do ciclo de vida, o install irá executar os testes de integração do projecto, o pacote não irá.

Se realmente precisar de não instalar os artefactos gerados, use pelo menos Verifique.

 5
Author: dna, 2015-04-22 17:06:38

Você Também deve observar que, se o seu projeto é composto de vários módulos que são dependentes uns dos outros, você deve usar "instalar" em vez de "pacote", caso contrário, a compilação irá falhar, porque quando você usar o comando de instalação, o módulo de Um serão fornecidos e instalados para o repositório local e, em seguida, se o módulo de B tem módulo como uma dependência, pode acessá-lo a partir de um repositório local.

 4
Author: NԀƎ, 2016-07-29 20:48:55

Se você não estáusando um repositório remoto (como artifactory), use plain old: mvn clean install

Tema bastante antigo, mas AFAIK, se você executar o seu próprio repositório (eg: com artifactory) para compartilhar jar entre sua equipe (s), você pode querer usar

mvn clean deploy

Em vez disso.

Desta forma, o seu servidor de integração contínua pode ter a certeza de que todas as dependências são correctamente empurradas para o seu repositório remoto. Se você perdeu um, mvn não será capaz de encontrá-lo para o seu repositório local m2 de CI.

 3
Author: user1853859, 2016-01-20 20:56:54

Pacote-pega o código compilado e embala-o em seu formato distribuível, como um jar ou arquivo de guerra. install-instale o pacote no repositório local, para ser usado como uma dependência noutros projectos localmente

 2
Author: Elilmatha Sivanesan, 2015-02-24 06:13:24

A maneira adequada é mvn package se você fez as coisas corretamente para a parte central da sua compilação, então não deve haver necessidade de instalar os seus pacotes no repositório local.

Além disso, se usar o Travis, poderá "cache" as suas dependências porque não irá tocar no seu $HOME.m2/repository se usar o pacote para o seu próprio projecto.

Na prática, se sequer tentar fazer um mvn site, normalmente terá de fazer um mvn install antes. Há demasiados bugs com ou [[4]} ou é numerosos plugins mal mantidos.
 1
Author: Archimedes Trajano, 2017-05-13 23:25:02

Depende do que você está tentando alcançar depois de mudar o arquivo Java. Até quereres testar o processo maven, nunca precisas de fazer nada. Eclipse / MyEclipse irá construir o que é necessário e colocar a saída no lugar apropriado dentro de seu projeto. Você também pode executá-lo ou implantá-lo (se for um projeto web, por exemplo), sem a necessidade de fazer qualquer coisa explicitamente com maven. No final, para instalar seu projeto no repositório maven, você precisará fazer uma instalação maven. Você também pode ter outros objetivos maven que deseja executar, o que MyEclipse não fará automaticamente.

Como eu digo, depende do que queres fazer.
 0
Author: Tony Weddle, 2013-03-21 06:04:59