Espero que alguém possa me ajudar com um problema com o qual estou lutando.
Quando tento construir meu projeto a partir do terminal, recebo este erro:
Failed to read artifact descriptor for com.morrislgn.merchandising.common:test-data-utils:jar:0.3b-SNAPSHOT: Could not find artifact com.morrislgn.merchandising:merchandising:pom:0.3b-SNAPSHOT
O common.test-data-utils
jar é criado por um projeto separado e compartilhado entre este e outro projeto (o outro projeto também não cria, mas isso se deve a outro problema).
Sou capaz de construir com.morrislgn.merchandising.common:test-data-utils
sem problemas, posso ver a entrada que faz no .m2
repositório local na minha máquina. Também reindexei meu repositório no Eclipse.
O POM do meu projeto tem esta entrada:
<dependency>
<groupId>com.morrislgn.merchandising.common</groupId>
<artifactId>test-data-utils</artifactId>
<version>0.3b-SNAPSHOT</version>
</dependency>
O que parece estar correto para mim - o POM também não relata erros quando é exibido no Eclipse.
Alguém pode me dizer o que estou perdendo aqui ou fazendo errado?
fonte
~/.m2/setting.xml
seção de espelho primeiro e, depois de executarmvn -U clean install
, certifique-se deReimport
(clique com o botão direito do mouse no projeto e, naMaven
seção inferior , há umReimport
botão )Esse problema pode ocorrer se você tiver alguns projetos filhos que se referem a um pai pom e você não tiver instalado a partir do diretório pom pai (executado
mvn install
no diretório pai). Um dos projetos filhos pode depender de um projeto irmão e quando ele ler o pom do irmão, ele falhará com o erro mencionado na pergunta, a menos que você tenha instalado pelo diretório pom pai pelo menos uma vez.Eu acabei de encontrar esse problema ao mover um projeto para um novo computador. Eu costumava executar comandos do projeto filho e não executava a instalação no pai.
fonte
mvn install
no pai, você também pode adicionar-N
operações não recursivas. Isso fará com que o maven pule todos os módulos (incluindo um que falha) e faça apenas uminstall
objetivo para o pai.mvn install
o pom pai? Isso não seria usado apenas para o download da dependência entre irmãos? Se você foi ao diretório de irmãos e executou amvn install
partir daí para que o jar esteja no seu repositório local, isso não faz exatamente a mesma coisa?Teve o mesmo problema com o IntelliJ IDEA e os seguintes trabalhos.
File
Settings
Build, Execution, Deployments
Build Tools
no menu suspensoMaven
no menu suspensoAlways update snapshots
caixa de seleçãofonte
Se você estiver usando o Eclipse, clique com o botão direito do mouse em seu Projeto -> Maven -> Atualizar Projeto . Ele abrirá a caixa de diálogo Atualizar projeto Maven.
Nessa caixa de diálogo, marque a caixa de seleção Forçar atualização de snapshots / liberações e clique em OK . (Consulte a imagem abaixo)
Isso funcionou para mim!
fonte
Se você estiver usando o eclipse, clique com o botão direito do mouse em projeto -> propriedades -> Maven e verifique se a opção " Resolver dependências de projetos da área de trabalho " não está clicada.
Espero que isto ajude.
fonte
Sei que estou muito atrasado para a conversa, mas também tive esse problema. Acho que o problema era o firewall da minha empresa. Minha solução foi desconectar da rede, conectar-se à nossa rede sem fio aberta e forçar uma atualização via Eclipse. Isso resolveu tudo.
fonte
Eu tive o mesmo problema com o eclipse, onde a linha de comando maven build funcionou muito bem, mas tente isso
O erro desaparece .... por que minha linha de comando mvn funcionou com esses diretórios e o eclipse .m2eclipse não pôde, não tenho idéia e meio que é uma merda. Meu projeto agora está trabalhando em eclipse novamente.
fonte
mvn clean install
trabalhouEu tive o mesmo problema usando o IntelliJ. Resolvi com o botão direito em pom.xml> Maven> Reimport
fonte
Resolvi esse problema excluindo nas pastas do repositório onde esse erro era mostrado em tudo, exceto nos arquivos .jar e .pom.
fonte
Os problemas "Falha ao ler o descritor de artefato" geralmente indicam um problema com o arquivo pom da dependência no repositório maven. Eu sugiro que você verifique novamente se o nome do arquivo pom é o mesmo que o nome maven espera e também para verificar se o conteúdo do arquivo pom é válido.
fonte
Para mim, estava relacionado à configuração do "User Setting.xml" dentro
fonte
Eu tenho um projeto
Agora há outro projeto em nossa organização
(Cada módulo a1, b1 etc. e os projetos pai A, B têm seu próprio pom.xml, de acordo com as regras padrão do pai e filho)
Ambos os projetos são verificados no meu eclipse local (do SVN). Estou trabalhando ativamente no A.
Eu vim a saber que existe uma boa funcionalidade comum (b4) desenvolvida em B e eu precisava usá-la.
O desenvolvedor do b4 implementou este módulo b4 como um artefato no repositório da nossa organização. Incluí a dependência do POM do meu módulo, ou seja, pom.xml do a2. O Eclipse baixou o artefato requerido do repositório e eu poderia importar as classes nele.
Agora o problema começa ... Eu precisava verificar o código-fonte do b4 para alguma finalidade e, como eu já tinha B verificado no meu eclipse local, atualizei-o do SVN e verifiquei o módulo b4. Também executei o pom.xml do módulo b4 com destinos como clean, package etc. Depois de algum tempo em que terminei minha codificação, precisei criar um JAR do meu módulo a2. Eu executei o "pacote" no pom.xml e no BAM do a2 !! erros n erros para o módulo a2. Esses erros também não eram muito amigáveis. A única coisa é que havia o nome do b4 com certeza nos logs.
Solução: Depois de tentar várias soluções por muitas horas, executei "mvn -U clean install" no console na diretiva de projeto do meu B (ou seja, em ../codebase/B). Como B é o pai, o comando clean install foi executado para todos os módulos, incluindo b4, e foi executado com sucesso. Depois disso, executei "mvn -U clean install" para o meu projeto pai, que é A. E isso funcionou! O módulo a2 foi compilado, instalado (empacotado posteriormente) com êxito.
O ponto importante aqui foi que se o b4 estiver no seu espaço de trabalho, não instale apenas o b4. Você precisará instalar a instalação B. completa. Cheguei a esta solução depois de ler a resposta da Zuill
Edição: Mais uma coisa aqui para observar que, se eu não tinha o projeto B check-out no ambiente local, esse problema pode não ter ocorrido para mim. Costumo pensar que isso aconteceu porque eu fiz o check-out do B no meu espaço de trabalho local.
fonte
Você menciona dois groupIds diferentes
com.morrislgn.merchandising.common
ecom.johnlewis.jec.webpim.common
. Talvez este seja o problema.fonte
Referência Erro Maven "Falha ao transferir ..."
fonte
Não teve sorte ao atualizar via eclipse. Teve que usar o mvn clean install -U (que resolveu tudo).
fonte
Para mim, parece realmente ter sido um problema com a dependência do POM.
Eu trabalhei com isso usando o repositório virtual jitpack, com o qual você pode incluir repositórios do github com base em sua URL, em vez de seu próprio POM (o que parece ter sido errado no meu caso).
fonte
Eu tive o mesmo problema por um tempo e apesar de fazer
mvn -U clean install
o problema não estava sendo resolvido!Finalmente resolvi o problema excluindo toda a
.m2
pasta e reiniciei meu IDE e o problema desapareceu!Portanto, às vezes o problema aumentava devido a algumas incompatibilidades ou problemas no seu repositório maven local.
fonte
No nosso caso, o erro apareceu devido à renomeação incorreta do groupId, enquanto alguns dos projetos na configuração Maven de vários módulos fazem referência a outros.
Tivemos um projeto agregador (
billing-parent
) com dois módulos (billing-api
,billing
):O projeto
billing
dependebilling-api
. Então, no seupom.xml
teve:Decidimos renomear groupId de
com.company.team
paracom.company.team.billing
. Substituímos o valor antigo nos paispom.xml
e nas<parent>
seções dos dois módulos. Mas esqueceu de atualizar a dependência acima. Portanto, tivemos uma configuração na qual obilling
projeto faz referência abilling-api
artefatos antigos . Eventualmente, ele aumenta a construção dobilling
módulo após algum tempo com o erro como[ERROR] Failed to execute goal on project billing: Could not resolve dependencies for project com.company.team.billing:billing:jar:3.5.1-SNAPSHOT: Failed to collect dependencies at com.company.team:billing-api:jar:3.5.1-SNAPSHOT: Failed to read artifact descriptor for com.company.team:billing-api:jar:3.5.1-SNAPSHOT: Failure to find <parent of the com.company.team:billing-parent project which is not available any more>
Apesar do fato que
billing-api
módulo ser compilado sem erros.Solução 1: renomear
groupId
emdependency
bem.Solução 2: substitua
groupId
pela${project.groupId}
propriedade da seguinte maneira:Conclusão. Portanto, meu conselho, caso você encontre o erro na configuração de vários módulos, deve ser: verifique minuciosamente
groupId
eartifactId
as dependências dos módulos vizinhos.fonte
Navegue pelo shell dentro da pasta do projeto e execute o seguinte comando:
Geralmente isso já deve resolver o seu problema.
Se você vir uma mensagem como esta:
Em seguida, execute:
Seguido por:
novamente para finalmente atualizar suas dependências.
Depois, execute a compilação limpa do maven:
fonte
Eu tive um problema parecido. No meu caso, a versão do testng na minha pasta .m2 / repositories estava corrompida, mas quando eu a excluí e fiz uma atualização novamente, tudo funcionou bem.
fonte
Eu tive esse problema no eclipse,
mvn -U clean install
não funcionou, mas clique com o botão direito do mouse no projeto e selecione Maven-> Atualizar projeto corrigido.fonte
Comecei a usar o STS Eclipse pela primeira vez usando o Maven. O projeto que eu configurei já tinha seu próprio settings.xml. Se for esse o caso, você desejará atualizar seu arquivo settings.xml na configuração de execução.
clique com o botão direito do mouse no pom.xml e em "Executar como" -> "Executar configurações ..."
onde está escrito "Configurações do usuário", clique no botão Arquivo e adicione o settings.xml.
Acho que isso é específico para o seu projeto, mas meus "Objetivos" estão definidos como "instalação limpa" e verifiquei "Ignorar testes".
fonte
Este erro está basicamente dizendo que o maven não conseguiu ler uma certa dependência do repositório local. Pode acontecer porque um arquivo jar não foi baixado corretamente. Portanto, vá ao seu repositório local maven e verifique se não há nenhum arquivo de extensão .lastUpdated .
fonte
Isso me ajudou:
Do IDE (Red Hat CodeReady Studio no meu caso).
Windows -> Mostrar Visualização -> Terminal -> Abrir / Adicionar terminal local
Execute comandos da seguinte maneira>
$
cd /pom-file-path/
$
mvn -U clean install
fonte
Resolvi esse problema alterando o maven setting.xml e o repositório
fonte