Como faço para atualizar a versão de um maven plugin?
-
16-09-2019 - |
Pergunta
Eu estou usando a versão maven-orelha-plugin 2.3.1 - Eu sei que há uma nova versão disponível: http://maven.apache.org/plugins/maven-ear-plugin/
Eu não posso trabalhar para fora como fazer o upgrade para a versão mais recente?
Solução
O padrão de plugins versões são herdadas do Super POM, e você pode vê-los com mvn help:effective-pom
.
Se você deseja substituir a versão desde que haja, adicione isso ao seu POM:
<project>
<build>
<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.3.1</version>
</plugin>
</plugins>
</build>
</project>
Substituir a versão com o que você precisa.
Outras dicas
Mesmo que este já tenha chegado a "resposta aprovado", verifica-se que existe esta versões IMPRESSIONANTE plug-in que manipula o interminável problema de manutenção versão.
Para aquelas pessoas preguiçosas aqui estão alguns dos seus objectivos:
- versões:. Tela-dependência-atualizações verifica as dependências de um projeto e produz um relatório dessas dependências que têm versões mais recentes disponíveis
- versões:. Tela-plugin-atualizações verifica plugins de um projeto e produz um relatório desses plugins que têm versões mais recentes disponíveis
- versões: display de propriedade-atualizações digitaliza um projectand produz um relatório dessas propriedades que são usadas para versões de artefatos de controle e que properies têm versões mais recentes disponíveis .
- versões: update-parent atualiza a seção pai de um projeto para que ele faz referência a versão mais recente disponível. Por exemplo, se você usar um POM raiz corporativa, este objetivo pode ser útil se você precisa para garantir que você está usando a última versão do POM raiz corporativa.
- versões: update-properties Atualizações propriedades definidas em um projeto para que eles correspondem à última versão disponível do dependências específicas. Isso pode ser útil se um conjunto de dependências devem todos ser bloqueado para uma versão.
- versões: update-criança-módulos atualiza a seção pai dos módulos filho de um projeto para a versão corresponde à versão do projeto atual. Por exemplo, se você tem um pom agregador que também é o pai para os projetos que agrega e as crianças e versões pais ficarem fora de sincronia, este mojo pode ajudar a corrigir as versões dos módulos de criança. (Nota pode ser necessário invocar Maven com a opção -N, a fim de executar essa meta se o seu projeto está quebrado tão mal que não se pode construir por causa da versão mis-match).
- versões: lock-instantâneos pesquisas do pom para todas as versões -snapshot e substitui-los com a versão timestamp atual do que -snapshot, por exemplo, -20090327.172306-4
- versões:. Desbloquear-instantâneos pesquisas do pom para todas as versões do instantâneo timestamp bloqueado e os substitui por -snapshot
- versões:. Set pode ser usado para definir a versão do projeto a partir da linha de comando
- versões:. Uso-releases pesquisas do pom para todas as versões -snapshot que foram liberadas e substitui-los com a versão correspondente
- versões:. Usar a próxima-releases pesquisas do pom para todas as versões não-INSTANTÂNEO, que têm sido uma mais recente lançamento e substitui-los com a próxima versão
- versões:. Uso-últimas-releases pesquisas do pom para todas as versões não-INSTANTÂNEO que têm sido uma mais recente lançamento e substitui-los com a versão mais recente
- versões:. Usar a próxima instantâneos pesquisas do pom para todas as versões não-INSTANTÂNEO, que têm sido uma versão mais recente -snapshot e substitui-los com a próxima versão -snapshot
- versões:. Uso-latest-instantâneos pesquisas do pom para todas as versões não-INSTANTÂNEO que têm sido uma versão mais recente -snapshot e substitui-los com a versão mais recente -snapshot
- versões:. Usar a próxima-versões pesquisas do pom para todas as versões que têm sido uma versão mais recente e substitui-los com a próxima versão
- versões: use-últimas-versões pesquisas do pom para todas as versões que têm sido uma versão mais recente e substitui-los com a versão mais recente.
Como a versão de um plugin é selecionado, juntamente com a discussão sobre as versões plug-in no superpom é abordado em detalhes aqui .
Na verdade, a resposta selecionada atualmente não é muito justo. Deve ser
<project>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.3.1</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
I explicou por aqui :
"A seção plugins regular também permite a configuração de versão e padrão a ser definido, e é aí que as mentiras confusão. É tecnicamente válida para definir a configuração versão plug-in e padrão aqui, mas acho que é mais fácil de grok o pom ao seguir essa diretriz:
Se o bloco plugin não está definindo uma execução (e ligação assim Maven para fazer algo no ciclo de vida), colocar esse bloco na pluginManagment "
Alguns plugins Maven está restrito a versões Maven. Por exemplo, geralmente projeta por aqui usar Maven 2.0.4, que é restrito a utilizar a guerra plug-in 2.0.2 - isso funciona com sobreposições. O 2,1-alfa que seja, no entanto, que Maven 2.0.9 usos, não - por isso tivemos de rebaixar manualmente. Maven, salvo ordem em contrário, tentará usar a última versão de um plugin que pode de acordo com sua versão.