Eu tenho um projeto JDK 1.7 com uma dependência maven para um jar local em meu repo maven.
Não consigo construir o projeto usando Intellij, com os erros de que um símbolo não pode ser encontrado (o símbolo é uma classe importando pacotes do jar local)
Mas posso construir o projeto com sucesso usando 'pacote mvn'.
Passei muito tempo procurando soluções, coisas que já fiz:
- Cache inválido
- 'mvn clean install' a dependência local do jar
- Marcado para 'autoload snapshots' na configuração do maven do Intellij
- Maven reimpotado em Intellij
- Syncornized
Este erro aconteceu algumas vezes antes, mas normalmente apenas fechar o Intellij e / ou fazer a 'instalação limpa mvn' resolveu.
Por favor ajude.
java
scala
maven
intellij-idea
Yarin Miran
fonte
fonte
Respostas:
Sei que é tarde, mas a execução
mvn idea:idea
resolve o problema.fonte
mvn idea:idea
não foi atualizado e não é mantido por jetbrainsTente excluir todos os .iml e seu POM. Em seguida, copie e cole seu POM novamente em seu projeto e abra-o novamente e importe-o novamente.
fonte
*.iml
,*.ipr
e*.iws
arquivos do diretório raiz do projeto, em seguida, reabrir Intellij fixa-lo para mimDescobri que meu arquivo .iml e pom eram conflitantes e estavam causando o problema.
fonte
C:\Users\USERNAME\.IntelliJIdea2017.2\system
. Depois disso, fiz umgit clean -xdf
no diretório de origem para remover todos os arquivos sem versão e importei o projeto novamente. Funciona perfeitamente agora.Maven
ReImport
trabalhou para mim como abaixo ...fonte
Adicionando mais algumas dicas, já que esta é a primeira coisa que surgiu na pesquisa quando eu estava tendo problemas semelhantes (o projeto é compilado no mvn, não no IntelliJ), caso possa ajudar outra pessoa.
Quando eu fiz isso, foi uma correção diferente no Windows e Mac.
No Mac, entrei em ItellijIDEA / Preferences / Build, Execution, Deployment / Build Tools / Maven / Maven Home Directory e o configurei para usar meu Maven instalado separadamente em vez do Maven empacotado. Todos os problemas de compilação foram embora.
No Windows, eu estava vendo exceções no idea.log relacionadas ao SSL e minha árvore de projeto tinha apenas Java no ramo Bibliotecas externas. Olhando para outros sites, parece que o IntelliJ usa seu próprio JDK privado em vez do do sistema (embora no meu caso eu já tivesse exatamente a mesma versão do JDK instalada). Meu sistema JDK tem certificados instalados no armazenamento de chaves para o servidor Nexus corporativo que o JDK privado IntelliJ não tinha, então exceções estavam sendo lançadas quando ele tentava obter arquivos do Nexus. Para isso, a solução foi sair do IntelliJ, definir uma variável de ambiente chamada IDEA_JDK para apontar para o JDK que eu já tinha instalado e que tinha os certificados adequados e reiniciar o IntelliJ. Todos os problemas de compilação foram embora.
fonte
O IDE usa sua própria cópia agrupada do Maven ao fazer compilações. Se o maven no terminal for diferente do IDE, você deseja que sejam iguais.
GOTO (em um Mac) - IntelliJ Idea -> Preferências -> Compilação, execução, implantação -> Ferramentas de compilação -> Maven. Defina o caminho para o seu diretório inicial Maven Para encontrar o caminho para o Maven que você usa no terminal, digite o comando
mvn -version
e isso deve imprimir um monte de detalhes, incluindo o caminho dir. Coloque isso no diretório inicial do Maven .Para estar seguro, você também pode fazer o mesmo para a localização JDK
==== Algumas outras coisas que podem causar tais problemas ===
Se estiver fazendo compilações de pacote mvn ou mvn clean install, então ele tem que fazer algo com caches IDE. Entre outras coisas, este geralmente ajuda com tais erros ->
Arquivo -> Invalidar Caches
fonte
Sei que estou muito atrasado para essa conversa, mas só queria postar isso caso outra pessoa encontre esse problema. Outra razão pela qual isso acontece é porque você não está se referindo ao repositório certo. O Intellij pega a versão empacotada de um jar por padrão, em vez do seu próprio repositório maven. Confirme se o repositório conectado é o correto.
fonte
No meu caso, meu iml não estava sincronizado, então eu apaguei o iml para o módulo específico e, em seguida, na opção maven, selecione unignore project para recriar o iml
fonte
do prompt de comando execute o commnad:
mvn idea:idea
e clique com o botão direito no projeto -> no menu reimporte as dependênciasfonte
"símbolo não encontrado" significa que o intellij não é capaz de resolver a "dependência". Assim, você pode forçar a "Análise de dependência" clicando em "Analisar" -> "Analisar dependências" e selecionar o "Escopo de análise"
fonte
Muitas dicas valiosas nas demais respostas aqui, só quero adicionar a solução que funcionou para o meu problema .
Recentemente, começamos a usar um repositório Maven privado e sempre fazemos isso
mvn -s settings.xml
ao invocar o cmdline Maven. Obviamente, o IntelliJ não sabe sobre o repo privado, portanto, precisa de uma ajudinha.Vá para Configurações -> Compilar, Execução, Implementação -> Ferramentas de compilação -> Maven e substitua a opção "Arquivo de configurações do usuário".
fonte
Eu tive o mesmo problema. Vamos para:
Arquivo -> Estrutura do Projeto -> Módulo . Selecione seu módulo e na guia " Dependências ", certifique-se de que todas as dependências do maven foram adicionadas.
Para ter certeza de que você será avisado sobre um problema semelhante no editor de ideias: mude da "guia Dependências" para "Fontes" e adicione marque seu src como fonte.
fonte
Eu tive o mesmo problema. Eu mudei a versão do maven de 3.0.5 para 3.0.4 nas configurações do Idea e tudo funciona bem agora. Não sei por que isso me ajuda.
fonte
Tentei invalidar o cache, mudando o Maven para a versão instalada e nada funcionou.
Fechar e recriar um novo projeto resolveu isso.
fonte
Fechei o projeto e importei-o novamente clicando no pom raiz (não apenas na pasta, mas no próprio arquivo pom).
fonte
Tentei tudo o que foi descrito acima sem nenhuma alegria. No entanto, fiz uma coisa que finalmente funcionou:
Eu fui para C: \ Users \ .IntellijJIdea2018.2 e apenas excluí a pasta inteira.
Ele remove todas as configurações e cache do IntelliJ. Tive que reimportar meu projeto do zero, mas uma simples remoção e reimportação não funcionou antes, mas finalmente o fez funcionar novamente.
fonte
Se você estiver usando o Gradle, tente o comando abaixo. Isso resolveu meu problema
gradle cleanIdea idea
fonte
Este procedimento simples leva cerca de 1 minuto sem nenhum risco.
fonte
Exclua a pasta .idea e feche o IDE
abra o IDE novamente e importe o projeto que fará uma nova importação porque a pasta .IDEA foi excluída por nós anteriormente
Verifique o módulo de bibliotecas externas e, se não estiver preenchido com as dependências necessárias, verifique se a localização do maven settings.xml é fornecida corretamente no IDE
fonte
Existe também uma possibilidade que não foi mencionada. Se você importar uma biblioteca de
com.sun.*
. Isso também causará esse problema.Os programas funcionam quando executados no ide, porque essas classes
com.sun.*
estão todas nojre/lib
diretório, ele será carregado durante a execução. Mas quando você executamvn package
, essas bibliotecas não estarão acessíveis por causa da restrição do oracle desde o java 1.6 (essas bibliotecas foram descontinuadas de certa forma). Para resolver este problema, você pode adicionar<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <compilerArguments> <verbose /> <bootclasspath>C:/Program Files/Java/jdk1.8.0_161/jre/lib/rt.jar</bootclasspath> </compilerArguments> </configuration> </plugin> </plugins> </build>
lembre-se de substituir o cootclasspath pelo seu próprio caminho de
rt.jar
Você pode pesquisar
Access restriction: The type XXX is not accessible due to restriction on required library
mais detalhes.fonte
Se houver módulos incorretos configurados, execute estas etapas:
fonte
fonte
No meu caso, o problema estava em uma versão diferente do Project Java SDK. Quando eu estava construindo um projeto a partir do terminal, o maven usava Java 8, e quando eu estava construindo a partir do IDEA, ele usava Java 11.
Vá para Arquivo> Estrutura do projeto ... e em Configurações do projeto defina o SDK do projeto para a versão que você precisa.
fonte
Para mim, o problema era que eu tinha o compilador Ajc selecionado nas configurações do IntelliJ Java Compiler . Depois que mudei de volta para Javac, tudo funcionou bem.
fonte
Para mim, no Mac, resolvi excluindo o aplicativo Intellij Idea do meu computador e excluindo os arquivos de cache em ~ / Library / Application Support / JetBrains / IntelliJIdea2020.1 ~ / Library / Caches / JetBrains / IntelliJIdea2020.1
Em seguida, reinstale-o, abra meu projeto e construa-o com sucesso!
fonte
Eu encontrei o mesmo problema. Posso executar o
mvn clean package
comando com sucesso no terminal, mas não consigo executar ou construir a partir do IntellJ. Eu fiz as seguintes ações, mas todas falharam.mvn clean package
oumvn clean package
no terminalmvn clean package
mvn idea:idea
A última coisa que fiz funcionou: Exclua o .idea e .iml do projeto, exclua todos os arquivos de dependência e, em seguida, exclua o IntellJ do computador. Após reinstalar o IntellJ meu projeto foi construído com sucesso. Eu gostaria de ter uma maneira melhor de resolver isso.
fonte