Onde eu trabalho existe uma série de plugins homologados para uso com o maven. Tive a necessidade de utilizar um plugin novo, que não existe neste repositório corporativo.
Eu então alterei o settings.xml e adicionei o repositório central do maven para que o novo plugin pudesse ser baixado.
O problema é que quando eu faço o build desta forma, o maven atualiza alguns plugins que eu tenho no meu repositório, me gerando erros. Um plugin que tenho no repositório corporativo foi modificado para que funcionasse com generics. Quando o maven roda acessando o repositório central (remoto) ele atualiza os meus plugins do repositório local, gerando erros no meu build. O plugin xdoclet foi alterado para funcionar com generics, e qdo o maven roda, ele baixa a versão mais nova deste plugin, dando erro qdo tenta gerar as implementações via xdoclet.
Minha dúvida é a seguinte:
“Existe uma forma de dizer ao Maven para não atualizar os plugins locais ou especificar uma lista de plugins que não devem ser atualizados?”
Cara acho que não tem com fazer isso não, porque o plugin que você quer pode ter dependência de plugins mais novos os quais são atualizados automaticamente.
Agora de cabeça não vem nenhuma solução “automática”, mas vou dar uma idéia POG…
Porque você não pega o maven aponta o repositório central e baixa o plugin que falta, depois manualmente você coloca esse plugin no seu repositório corporativo e volta a utilizar o maven retirando o repositório central.
Eu tentei fazer isso, mas por algum motivo qdo estou offline, mesmo tendo já baixado os plugins, o maven tenta baixar de novo e não encontra o plugin no repositorio local.
Cara me passa o nome e a vesão do plugin que você quer utilizar e os plugins que você tem no seu repositório.
Mas me parece aquilo que te falei anteriormente, ta parecendo que o plugin que você quer utilizar depende de outros mais novos e ai não tem jeito você vai ter que atualizar as dependências do plugin senão ele não funciona :(. Acho que está na hora de você atualizar o repositório corporativo.
Eu posso fazer isso? Declara um escopo para um plugin? Na verdade verifiquei no DTD e não tem lugar pra esse parametro no plugin. A não ser que eu declare uma dependência desse plugin nas configurações … mas mesmo assim parece estranho … vou fazer outras tentativas.