Temos um projeto montado com maven para resolução de dependências. Normalmente funciona bem, mas agora estou tentando compilar e executá-lo em um novo PC e tenho problemas com dependências ausentes no Eclipse.
O engraçado é que se eu rodar "mvn package" no console ou no eclipse, ele funciona bem e até produz um war contendo todos os jars necessários. Apenas o Eclipse reclama com "O projeto não foi construído porque seu caminho de construção está incompleto. Não é possível encontrar o arquivo de classe para org.slf4j.Logger ...". Se eu comparar o projeto com algum outro computador (onde o projeto funciona bem), noto que existem algumas bibliotecas ausentes na listagem de "dependências Maven" no Eclipse. Embora eles estejam no pacote de guerra e também possam ser encontrados na pasta do repositório.
Portanto, os jar-s estão lá, mas o Eclipse não os listará todos em "Dependências do Maven". O que eu posso fazer?
O computador está executando o Windows 7 com java e eclipse de 64 bits.
Respostas:
Bem, tentei tudo que postou aqui, infelizmente nada deu certo no meu caso. Então, tentando diferentes combinações, encontrei esta que resolveu meu problema.
1) Abra o arquivo .classpath na raiz do projeto do seu eclipse.
2) Insira a seguinte entrada no arquivo:
Em seguida, reconstrua seu projeto no eclipse (Projeto-> Clean-Build). Agora você pode verificar no Java Build Path do seu projeto na guia Bibliotecas as dependências do Maven incluídas:
fonte
Problema resolvido!
Não sei exatamente o que resolveu, mas fiz 4 coisas no Eclipse:
Acho que foram as dependências do Update, já que logo após as duas primeiras não houve mudanças.
fonte
Também sou novo no Eclipse e tenho tido um problema semelhante em que o Eclipse simplesmente não reconhece uma instrução de importação, embora todos os sinais apontem para a dependência ter sido baixada com êxito.
Você deve verificar se o seu arquivo de dependência foi realmente baixado indo para a linha de comando e digitando
mvn dependency:tree
Se você vir seu pacote lá, mas o Eclipse não o reconhece, o que funciona para mim (às vezes) é ir para o terminal, fazer cd na pasta do projeto e digitar
mvn eclipse:clean
entãomvn eclipse:eclipse
Finalmente atualize o projeto no eclipse
Não sei por que isso funciona, e às vezes não funciona uma vez, mas fazer de novo funciona ... vale a pena tentar!
fonte
Meu projeto foi simplesmente bagunçado. Aqui está como eu consertei para Eclipse Indigo x64 (J2EE 3.7.3):
Espero que ajude alguém. :)
fonte
mvn eclipse:eclipse
que é simplesmente horrível.<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>antlr.tuto.calco</groupId> <artifactId>CalculatriceAntlr</artifactId> <version>0.0.1-SNAPSHOT</version> </project>
Eu tive esse problema para dependências que foram criadas em outros projetos. As dependências de terceiros baixadas apareceram bem no caminho de construção, mas não em uma biblioteca que eu criei.
SOLUTION:
No projeto que não está construindo corretamente,Clique com o botão direito do mouse no projeto e escolha Propriedades e, em seguida, Maven.
Desmarque a caixa com o rótulo " Resolver dependências de projetos de espaço de trabalho "
Clique em Aplicar e em OK.
Clique com o botão direito novamente em seu projeto e faça um Maven-> Atualizar instantâneos (ou Atualizar dependências)
E seus erros devem desaparecer quando seu projeto for reconstruído (automaticamente se você tiver a criação automática habilitada).
fonte
Bem, tentei tudo que postou aqui, infelizmente nada deu certo no meu caso. Então, tentando diferentes combinações, encontrei esta que resolveu meu problema.
1) Abra o arquivo .classpath na raiz do projeto do seu eclipse.
2) Insira a seguinte entrada no arquivo:
Em seguida, reconstrua seu projeto no eclipse (Projeto-> Clean-Build).
fonte
Caso alguém tenha tentado todas as outras opções e você ainda não tenha conseguido, tente clicar com o botão direito do mouse na pasta do projeto, vá até a opção Maven e clique no botão "adicionar dependência". Por algum motivo, o Eclipse não está atualizando as dependências manualmente do pom.xml na primeira tentativa.
fonte
Eu tive um problema parecido. Eu resolvi-lo executando o Maven-> Configuração Update Project ação
fonte
Para mim, o problema era que o maven não conseguia encontrar o arquivo settings.xml que está localizado em myMavenFolder \ conf .
O que fiz para corrigir o problema foi selecionar o local correto do arquivo settings.xml do eclipse:
Window -> Preferences -> Maven -> User Settings
Finalmente, clique em aplicar e atualizar seu projeto
fonte
Então, estou cerca de 4 ou 5 anos atrasado para esta festa, mas tive esse problema depois de extrair de nosso repo, e nenhuma das outras soluções deste thread funcionou no meu caso para me livrar desses avisos / erros.
Isso funcionou para mim:
No Eclipse, vá para Janela -> Preferências -> Maven (expandir) -> Erros / Avisos. A última opção diz "Execução do plug-in não coberta pela configuração do ciclo de vida" - use o menu suspenso para esta opção e alterne "Ignorar", Aplicar e OK. (No prompt "Requer atualização de projetos Maven", diga OK).
Mais informações:
Isso pode não necessariamente "consertar" o (s) problema (s) subjacente (s) e pode não ser qualificado como "prática recomendada" por alguns; no entanto, deve remover / suprimir a exibição desses avisos no Eclipse e, pelo menos, permitir que você avance. Especificamente - Eu estava trabalhando com Eclipse Luna Service Release 1 (4.4.1) c / Spring Dashboard & Spring IDE Core (3.6.3) e m2e (1.5) instalado, rodando em Arch Linux e OpenJDK 1.7. Importei meu projeto como um projeto maven existente e selecionei OK quando avisado sobre avisos / erros existentes (para lidar com eles mais tarde).
(Desculpe, não sou um designer, mas adicionei uma imagem para maior clareza.)
fonte
Para as seguintes etapas funcionou no meu caso:
1 No eclipse, clique com o botão direito no projeto desejado Maven -> Desativar Maven Nature
2 Clique com o botão direito novamente e vá para Propriedades . Exclua todas as evidências de dependência externa do Maven, deixando apenas a Biblioteca do sistema JRE.
3 Clique com o botão direito mais uma vez no projeto e vá para Configure -> Convert to Maven Project
fonte
Nenhuma das soluções acima funcionou para mim, então esta resposta é para qualquer outra pessoa na minha situação. Acabei encontrando o problema sozinho e uma solução diferente. O arquivo pom.xml continha uma tag dependencyManagement que envolvia as dependências, e M2Eclipse não adicionaria a pasta Maven Dependencies quando ela estivesse presente. Então, removi essa tag, executei a solução oferecida por Ualter Jr. e o Eclipse imediatamente adicionou a pasta que faltava!
fonte
Aqui estão os passos que segui.
1. Projeto maven excluído do eclipse.
2. Excluí todos os arquivos (.setting / .classpath / target), exceto src e pom, da minha pasta de origem.
3. importado novamente como um projeto maven
4. construí-lo novamente, você deve ser capaz de ver as dependências maven.
fonte
Minha resposta é semelhante à de @JerylCook: encontre outro
.classpath
arquivo em um projeto Maven em funcionamento, edite seus arquivos ruins como os bons em funcionamento. A chave é adicionarem cada
<classpathentry>
tipocon
esrc
. Não se esqueça de mudar<classpathentry .... />
para<classpathentry ...>xxx</classpathentry>
.Por último, atualize o projeto maven e reinstale / reconstrua no maven.
fonte
Se você tiver erros de "caminhos aninhados" após executar Maven -> Atualizar configuração do projeto (ou no Juno é "Atualizar configuração ..."), seu caminho de construção está mal configurado.
Clique com o botão direito do mouse no projeto -> Caminho de construção -> Configurar caminho de construção
Certifique-se de que apenas '/ src' e diretórios nesse nível sejam incluídos. Se você tiver, por exemplo, '/ src' e também '/ src / main / resources' presentes, isso está incorreto. O segundo recurso ('/ src / main / resources') está "aninhado" sob o primeiro ('/ src'), o que está causando sua incapacidade de importar recursos, uma vez que impede o eclipse de ver as dependências do maven.
fonte
Meu problema parece semelhante, então vou adicionar à discussão. Eu cancelei a importação de um projeto maven existente para o Eclipse, o que resultou na impossibilidade de atualização e não terminaria adequadamente a construção do Espaço de Trabalho.
O que eu tive que fazer para resolver isso foi selecionar
Run As... -> Maven build...
e em Metas eu entreidependency:go-offline
e executei isso.Então, cliquei com o botão direito do mouse no projeto e selecionei
Maven -> Update Project...
e atualizei aquele projeto específico.Isso finalmente permitiu que ele criasse as pastas de origem e concluísse a importação.
fonte
Eu poderia resolver o erro 1) Clique com o botão direito (seu projeto maven) -> maven -> instalação maven
Após a instalação bem-sucedida
2) Clique com o botão direito (seu projeto maven) -> maven -> atualizar projeto. E todo o erro do maven foi resolvido!
fonte
Para mim, foi suficiente adicionar um buildCommand (org.eclipse.m2e.core.maven2Builder) e uma natureza (org.eclipse.m2e.core.maven2Nature) no arquivo .project, como este:
e eu tinha
fonte
Foi assim que resolvi
Agora reconstrua e ele instalará os JARs mais recentes no local correto.
fonte
Eu tive um problema semelhante e tentei todas as respostas neste post. O mais perto que cheguei de resolver esse problema foi combinar as soluções Joseph Lust e Paul Crease. Eu adicionei o arquivo pom.xml de backup depois de excluir e reimportar o projeto, e nada apareceu até que eu exclua a tag de gerenciamento de dependências no pom.xml e magicamente a pasta dependencies estava lá.
No entanto, ele quebrou os POMs filho, pois eles precisam do gerenciamento de dependência pom.xml pai para funcionar e, como resultado, meu MVN não estava funcionando corretamente no projeto a partir do Eclipse ou da linha de comando, apresentando um erro de pom.xml quebrado.
A última solução, se tudo falhar, é importar manualmente os arquivos .jar necessários ao seu projeto. Clique com o botão direito do mouse em Propriedades do projeto -> Caminho de construção Java -> Bibliotecas e adicionar jar externo.
Se o seu MVN estiver funcionando corretamente na linha de comando e você tiver feito uma compilação bem-sucedida no projeto, você terá todos os repositórios necessários em sua pasta .m2 / repository. Adicione todos os jars externos mencionados em sua tag de dependências de pom.xml e você verá uma seção de biblioteca referenciada em seu Eclipse, sem todos os incômodos erros vermelhos.
Esta não é a solução ideal, mas permitirá que você trabalhe no Eclipse sem erros de dependências ausentes e também permitirá que você crie o projeto Maven a partir do Eclipse e da linha de comando.
fonte
Este mesmo problema aconteceu comigo, e foi porque houve um erro no download de um jar devido a problemas de repo, indicado por um sinalizador vermelho no
pom.xml
.Eu adicionei outro repositório para que o sinalizador vermelho
pom.xml
desaparecesse e o Eclipse carregasse o pom novamente, resolvi o problema e listei as dependências do maven no Project Explorer. parece simples e óbvio para resolver problemas visíveis, mas como o Eclipse estava muito feliz em executar o maven e construir com sucesso, não era óbvio que a bandeira vermelha e o problema do repo estavam na raiz de sua relutância em analisar o pom e listar o maven dependênciasfonte
então, do eclipse: "Projeto de atualização Maven" resolve!
fonte
atualizar o .classpath abaixo funcionará sempre.
fonte
Dependências do Maven: O que resolveu isso para mim no Eclipse? Eu adicionei a dependência no arquivo "pom". Fiz uma construção, mas não consegui ver a dependência Maven no Eclipse. Próxima etapa: Fechamento do projeto. Em seguida, reabriu o projeto. Eu pude ver as dependências do Maven.
fonte
Recebi este erro quando ocorreu um erro no Pom.
fonte
mvn eclipse:eclipse
todas as dependências foram adicionadas ao classpath no projeto eclipse e o projeto parecia bem. ++É incrível que esse problema tenha tantas causas diferentes e soluções possíveis. Encontrei ainda uma solução diferente que funcionou para mim.
Bem, não é tanto uma solução, mas uma descoberta: Eu posso ver o nó Maven Dependências no Package Explorer, que é o padrão para a perspectiva Java, mas eu posso não vê-lo na perspectiva Java EE, que usa o Project Explorer por padrão. Ambos os exploradores parecem muito semelhantes à primeira vista, então você pode esperar ver as dependências Maven em ambos.
Enquanto tentava descobrir isso, não havia percebido essa diferença, então não foi um problema para mim no final das contas.
fonte
todo o projeto parecia estranho no eclipse, a pasta de dependências do maven estava faltando, alguns tipos eram mostrados como desconhecidos, mas eu consegui construí-lo com sucesso no maven. O que corrigiu meu problema foi adicionar a pasta gen ao caminho de origem no caminho de construção do projeto.
Provavelmente isso é semelhante a este Android / FBReaderJ / gen já existe, mas não é uma pasta de origem. Converta para uma pasta de origem ou renomeie-a
fonte
No Eclipse STS, se as "Dependências do Maven" desaparecerem, será necessário verificar e corrigir seu
pom.xml
. Eu fiz isso (duas vezes) e resolvi. Não foi um problema de dependências, mas uma String gerada e movida em uma posição aleatória no meupom.xml
.fonte
Tudo acima não funcionou comigo. Pois a correção era apenas deletar a pasta do repositório sob .m2 e então fazer uma atualização do maven do eclipse.
fonte
Muitas respostas. Veja, pode haver vários motivos pelos quais isso não está funcionando, conforme o esperado. No meu caso, também não percebi o - Tag em torno de minhas dependências.facepalm
Exemplo:
isto apenas DEFINA a dependência para este e todos os subprojetos com a versão desejada! Isto é, como deve ser, por exemplo, a aparência no POM mestre. Para realmente usar a lib neste projeto atual, você também deve adicionar a dependência da seguinte forma:
AGORA ele irá fornecer a lib neste projeto atual.
fonte