Estou trabalhando em um projeto bastante grande do Maven. Provavelmente, temos cerca de 70 artefatos individuais, que são divididos em duas bibliotecas de código compartilhado e talvez dez aplicativos que os utilizam. Todos esses itens estão no espaço para nome com.mycompany.*
.
Na maioria das vezes, estamos executando versões de snapshot. Para fazer uma compilação completa de um aplicativo, primeiro devo compilar os projetos da biblioteca para que sejam instalados no meu repositório local (como, por exemplo, mycompany-libname-2.4-SNAPSHOT.jar
).
O problema é que quando eu vou construir os aplicativos. Por alguma razão, o Maven deseja verificar os dois principais repositórios públicos (maven-net-repo e java-net-repo) para obter atualizações para todos osmycompany-*-SNAPSHOT.jar
artefatos. Obviamente, eles não são encontrados lá e tudo acaba voltando às versões que eu acabei de construir no meu repositório local, mas eu gostaria que o Maven parasse de fazer isso porque (a) isso me faz sentir como uma rede ruim. por verificar constantemente esses repositórios em busca de coisas que nunca estarão lá, e (b) adiciona alguma latência de rede desnecessária e irritante ao meu processo de criação.
Passei a executar o maven no modo offline na maioria das vezes para contornar isso, mas isso não é ideal, pois ocasionalmente uma dependência de uma biblioteca pública será atualizada. Então, o que estou procurando é uma solução que faça com que o Maven não verifique se há atualizações de repositórios específicos para artefatos que atendem a certos critérios - nesse caso, ficaria feliz se o Maven ignorasse as versões do INSTANTÂNEO ou os artefatos que estavam em o com.mycompany
espaço para nome.