Por que o MAVEN2 verifica as atualizações do Stax-Ex em todas as compilações?
-
27-09-2019 - |
Pergunta
O MAVEN2 verifica as atualizações do STAX-EX a cada compilação. E está apenas verificando essa única dependência, todas as outras dependências são atualizadas apenas uma vez por dia.
Saída MAVEN2:
Artifact org.jvnet.Staxex: Stax-Ex: verificando atualizações do java.net
Stax-ex (GroupID: org.jvnet.Staxex, versão: 1.2) está incluído como parte do JAXWS-RT (GRUPHID: com.sun.xml.ws, versão: 2.1.3). Temos um repositório de artefática como intermediário.
O que eu poderia fazer? (Construir offline seria um trabalho impopular.)
Solução
Parece que você tem declarações de repositório remoto em seus POMs que ignoram seu repositório corporativo. Se você estiver usando o Artifactory, pode ter referências de repositório remoto em POMS despojado automaticamente em um nível de repositório virtual, ou configurar espelho-any Em suas configurações, para aplicar a resolução do artefato, passe estritamente através da sua artefática.
Outras dicas
Eu tive o mesmo problema e queria chegar ao fundo!
O problema está no arquivo pom.xml de streambuffer (Uma dependência do JAXWS-RT), que não especifica uma versão para Stax-Ex. Em vez disso, ele usa RELEASE
, significando a versão mais recente lançada:
<dependency>
<groupId>org.jvnet.staxex</groupId>
<artifactId>stax-ex</artifactId>
<version>RELEASE</version>
</dependency>
Isso força o MAVEN a verificar constantemente o lançamento mais recente do Stax-Ex (mesmo se o próprio Jaxws-RT solicitar a versão 1.2), baixando o seu correspondente maven-metadata.xml
.
Uma solução fácil é forçar a versão do Stax-ex em um dependencyManagement
Seção do seu pom.xm:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jvnet.staxex</groupId>
<artifactId>stax-ex</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
</dependencyManagement>
E então Maven vai parar de incomodá -lo sobre este aviso ...