ti-enxame.com

IntellijIDEA não reconhece classes especificadas em dependências do Maven

Eu tenho um projeto no IntellijIDEA que foi criado com o Maven. Em seguida, especifiquei um conjunto de dependências e repositórios externos no arquivo Pom.xml.

O projeto constrói bem na linha de comando se eu fizer "mvn install". Quando eu abro qualquer um dos arquivos de código no IDE, ele diz que todas as classes tratadas pelas dependências do Maven não são reconhecidas - como seria para um projeto normal se eu nunca adicionasse os JARs necessários ao caminho de construção.

Eu sei que em meus projetos Eclipse Maven (em vez de IntelliJ) ele geralmente mostra um diretório extra à esquerda que diz "Maven Dependencies" e lista os JARs puxados via maven. Eu não vejo isso aqui. O que estou fazendo de errado?


Aqui está o que minha tela se parece:

IDE Image

52
John Humphreys - w00te

Por alguma razão, a reimportação não funcionou. Depois de olhar isto:

http://www.jetbrains.com/idea/webhelp/maven-importing.html

Eu configurei a importação automática e, em seguida, o problema desapareceu; espero que ajude alguém. Obrigado pelas ideias todos :).

28
John Humphreys - w00te

Depois de instalar o IntelliJ IDEA em um novo computador, encontrei-me com o mesmo problema.

Eu tive que atualizar o repositório maven remoto. (Settings > Maven > Repositories)

enter image description here

Repos locais e remotos precisavam ser atualizados. O remoto não foi atualizado nunca antes disso. Depois de um reinício tudo funcionou bem. Você pode ter que reimportar seu projeto.

26
Max

Eu estava correndo em problemas semelhantes. Para mim acabou sendo que eu estava importando o projeto incorretamente. Eu estava fazendo 

import project
    <navigate to existing project and click top level directory>
    follow the wizard

O que resolveu meus problemas de maven foi fazer

import project
    <navigate to existing project and click the pom.xml
    follow the wizard
19
grinch

Você poderia ir para:

Arquivo> Configurações> Construção, Execução, Implantação> Ferramentas de Construção> Maven

e verifique se o seu pom.xml não está na lista "Arquivos ignorados".

18
Jarek

Para mim Arquivo >> Invalidar Cache/Restart >> Invalidar e Reiniciar funcionou no IntelliJ

4
Sherin Syriac

Uma simples reimportação e/ou atualização dos repositórios via Intellij não fez o truque para mim.

Em vez disso, tive que deletar o diretório ~/.m2/repository completo e deixar que o maven resolvesse tudo sozinho. Depois Maven -> Reimport terminou.

3
Matt

No meu caso, o problema era que o projeto estava no maven2 enquanto o intellij estava configurado para o maven 3. Mudar para o maven2 nas configurações resolveu o problema

2
Stefano Ghezzi

Pode ser útil para outras pessoas que ainda estavam presas como eu. Nenhuma das correções sugeridas funcionou. Na verdade, não antes de consertar meu problema principal, que era o local de instalação do maven.

No meu caso, não usei o local padrão. Mudar esse local nas configurações do maven ( Settings/Maven/Maven Repositório ) foi o suficiente.

Meus 2 centavos.

1
mikey

Vá para Arquivo> Configurações> Construção, Execução, Implantação> Ferramentas de Construção> Maven E verifique o diretório pessoal do Maven. Esta deve ser a mesma instalação do maven usada para a linha de comando

1
Akila Mahesha Keerawella

Isso também aconteceu comigo depois de atualizar o Intellij para 1.4.15. Eu tentei reimportar o projeto inteiro com o mesmo resultado, mas habilitar o Maven Auto Import fez os truques.

0
Eirik

Parece que existem várias razões válidas para que o intelliJ ignore um arquivo pom. Nenhuma das respostas anteriores funcionou no meu caso, então aqui está o que funcionou, no caso de alguém se deparar com esse problema:

Neste exemplo, o module3 estava sendo completamente ignorado pelo IntelliJ. O pom.xml nesse diretório não estava sendo tratado como um maven pom.

Minha estrutura de projeto é assim:

myProject
    module1
    module2
    module3

MAS, minha estrutura de pom (simplificada) é assim:

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>devs</groupId>
    <artifactId>myProject</artifactId>
    <version>0.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>myProject</name>

    <modules>
        <module>module1</module>
        <module>module2</module>
    <modules>

    <profiles>
        <profile>
            <id>CompleteBuildProfile</id>
            <modules>
                <module>module3</module>
            </modules>
        </profile>
    </profiles>
</project>

Para corrigir isso, eu modifiquei o elemento root <modules> para adicionar temporariamente o module3.

    <modules>
        <module>module1</module>
        <module>module2</module>
        <module>module3</module>
    <modules>

Em seguida, importe novamente o pom raiz, e o IntelliJ adicionará o módulo. Quando isso for feito, reverta o pom. O IntelliJ perguntará se você também quer remover module3 da estrutura do projeto. Clique em No.

Bam! Feito. O Module3 funciona e posso executar meus testes de integração do IntelliJ novamente: D

0
HankScorpio

Cache está causando problemas! Certifique-se de fazer o seguinte:

No seu terminal, vá para o projeto/módulo:

mvn clean install

Em seu IntelliJ:

  1. Arquivo> Invalidar caches> Invalidar

  2. Clique com o botão direito em project/module> Maven> Reimport

0
Luis Azanza

O problema foi causado por mim, selecionando o diretório do projeto a ser importado ao iniciar o IntelliJ em vez do arquivo pom.xml para o projeto.

Fechando o projeto problemático e depois seguindo o processo de Importação novamente, escolher o pom.xml resultou em um projeto totalmente funcional no IDE.

0
nickebbitt

Para mim, o problema parece ser um conflito com o plugin maven helper ( https://plugins.jetbrains.com/plugin/7179?pr=idea ). 

Eu desabilitei e funciona novamente :)

0
fan

Para mim, qual foi o truque para adicionar as dependências em Arquivo> Configurações do projeto> Módulos> Dependências.

0
hosford42

Por razões que eu não entendo, no meu caso, eu precisava ativar a configuração "Atualizar sempre instantâneos" em Compilação, Execuções, Implantação> Ferramentas de compilação> Maven.

Isso fez com que o IntelliJ baixasse novamente as dependências e fizesse o trabalho.

0
Kresimir Nesek