Intellij는 가져올 때 기호를 확인할 수 없습니다.


127

이 문제는 다른 라이브러리와 다른 프로젝트에서 간헐적으로 발생합니다. 라이브러리를 가져 오려고 할 때 패키지는 인식되지만 클래스 이름은 확인할 수 없습니다.

import 문에서 I right-click -> Goto -> the package's declaration, 측면 창에 디 컴파일 된 모든 클래스가 표시되는 경우-필요한 클래스 포함-import 문을 자동 완성하려고하면 필요한 클래스가 쓰러지 다.

이미 캐시 무효화를 시도했지만 작동하지 않습니다. 클래스 충돌을 찾을 수 없습니다. 동일한 패키지 이름을 가진 클래스 경로에 다른 jar 파일이 없습니다. 이 클래스를 다른 프로젝트로 가져올 수 있습니다.

스크린 샷을 참조하십시오 :

여기에 이미지 설명 입력

여기에 이미지 설명 입력

누구나 단서가 있습니까?


1
라이브러리가 모듈에 추가 되었습니까? 프로젝트 라이브러리로 추가 할 수 있지만 모듈 클래스 경로에는 없습니다.
mkobit 2014

예-프로젝트 구조에서 라이브러리가 종속성으로 추가됩니다.-사실 Intellij의 버그라고 생각합니다-다른 라이브러리 / 프로젝트에 대해 무작위로 발생-프로젝트를 처음부터 다시
만들면

답변에 언급 된 모든 것이 적절하다면. 프로젝트를 닫고 다시 가져옵니다. 이것은 나를 위해이 문제를 해결했습니다.
하리 Krishnan

답변:


250

캐시를 무효화하고 intellij를 다시 시작하면 많은 경우 도움이 될 것입니다.

파일-> 캐시 무효화 / 다시 시작


청소 프로젝트는 또한 도움이
GeRyCh

2
@GeRyCh IMHO, Eclipse 청소 = Intellij Invalidate cache
Gangnus

나에게도 작동하지 않았습니다. 내 JUnit은 '글로벌 라이브러리'였습니다. 이것을 제거하고 IntelliJ의 자체 JUnit5 배포를 추가하면 작동합니다. 그런 다음이 종속성을 전역 라이브러리로 다시 변환하면 오류가 반환됩니다. 대신 프로젝트 라이브러리로 변환하면 제대로 작동하기 때문에 이것이 버그라고 생각합니다.
Mark Jeronimus

1
이것이 나를 위해 일해 주셔서 감사합니다. 방금 Intellij를 사용하기 시작했고 이미 너무 짜증이났습니다. 괄호에서 튀어 나올 수 없으며 프로그램을 다시 시작해야 제대로 컴파일됩니다. 이것은 진정한 Java IDE의 Windows입니다.
azureai

3
나는 몇 주 이후 적어도 하루에 한 번이 문제가 있습니다. 모든 것을 다시 색인화하는 데 영원히 걸리기 때문에 정말 스트레스를받습니다.
spyro

38

여기에는 여러 가지 이유가있을 수 있습니다. 제 경우에는 잘못된 소스 루트 문제였습니다. 캐시 무효화는 다른 솔루션과 함께 작동하지 않았습니다.

모듈 소스 루트를 확인하십시오.

  1. 프로젝트 구조 ( Ctrl+ Alt+ Shift+ S).

  2. 모듈

  3. 문제 모듈을 선택하십시오.

  4. "소스"창 상단의 탭을 변경합니다.

  5. 원치 않는 소스 루트를 제거하십시오. 하나를 유지하고이 루트에 src 및 테스트 소스 루트를 추가하십시오.


1
이것이 어떤 사람들에게 효과가 있는지 모르겠지만 그럴 것 같고 그 이유가 궁금합니다. 실제로 다음 Gradle 동기화가 방금 ​​제거한 모든 소스 디렉토리를 다시 생성합니다.
프랜 Marzoa

16

IntelliJ는 종속성을 해결하는 데 문제가 있습니다. 다음을 시도하십시오.

  1. pom.xml-> Maven-> 다시 가져 오기를 마우스 오른쪽 버튼으로 클릭합니다.
  2. 다시 pom.xml-> Maven-> 소스 생성 및 폴더 업데이트를 마우스 오른쪽 버튼으로 클릭합니다.

12

모듈 종속성을 확인하십시오.

  1. 프로젝트 구조 ( Ctrl+ Alt+ Shift+ S).
  2. 모듈
  3. 문제 모듈을 선택하십시오.
  4. "종속성"창 상단의 변경 탭.
  5. 필요한 라이브러리 ( '라이브러리'탭에 지정된 라이브러리를 추가해야 함) 또는 모듈이 여기에 나열되어 있고 올바른 범위 (대부분 '컴파일')가 있는지 확인합니다.

12

프로젝트 콘솔에서 다음 명령어를 실행하세요.

mvn idea:idea

끝난. 이 문제가 여러 번 발생했습니다. '캐시 무효화 및 다시 시작'및 기타 모든 솔루션을 시도했습니다. 그 명령을 실행하는 것은 나에게 완벽하게 작동합니다. 현재 IntelliJ 2019.2를 사용하고 있지만 이전 버전에서도 발생했으며 솔루션도 작동했습니다.


Btw이 maven 플러그인은 더 이상 유지
nabster

11

나는 비슷한 문제에 직면했고 Mike의 의견은 내가 그것을 해결하는 방향으로 나아가는 데 도움이되었습니다.
필요한 라이브러리도 내 프로젝트의 모듈의 일부 였지만 범위를 변경해야했습니다. 모듈 종속성에서 범위 를 " Test "가 아닌 " Compile " 로 변경했으며 지금은 잘 작동합니다.


테스트가 아닌 컴파일이 나를 위해 작동합니다. 그 이유를 아십니까?
30thh

1
어떻게하나요? 마이크는 누구입니까?
cellepo 19

8

파일-> 캐시 무효화 / 다시 시작 또는 프로젝트 재 구축이 작동 하지 않았습니다 .

내 Gradle 프로젝트에서 효과가 있었던 것은 IntelliJ v2017의 오른쪽 상단 모서리에있는 Gradle 탭에서 아래에 표시된 노란색 표시 버튼을 사용하여 "모든 Gradle 프로젝트 새로 고침"이었습니다.

여기에 이미지 설명 입력


이 답변은 내 Maven 프로젝트에도 적용되었습니다. IntelliJ 2018.3.4의 경우 아이콘은 동일하게 유지되지만 (파란색 회전 화살표) 옵션의 정확한 제목은 'Reimport All Maven Projects'입니다. 저자에 거대한 큰 위로가 그렇게 한 시간 조사 후 문제에 대한 올바른 해결책을 찾기 위해 완화된다
TomateFraiche

4

@ jossef-harush@ matt-leidholm 의 다음 답변 이 다른 링크에서 유용하다는 것을 발견했습니다.

  • IntelliJ 편집기에서 빨간색 키워드 ( Integer :)를 클릭 하고 ALT+를 누릅니다 ENTER(또는 전구 아이콘 클릭).
  • Setup JDK의도 메뉴에서 선택

IntelliJ 의도 메뉴

  • 클릭 Configure

프로젝트 SDK 선택 대화 상자

  • 제 경우에는 JDK경로가 잘못되었습니다 ( /opt/jdk1.7.0_51대신 가리 켰습니다 /opt/jdk1.7.0_65)

손상된 SDK 구성 대화 상자

  • 를 클릭 ...하고 올바른 JDK경로를 찾습니다.

SDK 구성 대화 상자 수정

  • 캐시를 지우자

IntelliJ 파일 메뉴



3

pom.xml 파일을 마우스 오른쪽 버튼으로 클릭하고 Maven으로 이동하여 Reimport를 클릭합니다. 나는 비슷한 문제가 있었고 이것은 나를 위해 일했습니다.


1

캐시를 무효화하고 다시 시작하려고 시도했지만 저에게 효과가 있었던 유일한 방법은 .idea 디렉토리를 완전히 지운 다음 처음부터 새 프로젝트를 만드는 것뿐이었습니다.


이것은 실제로 해결책이 아닙니다. 나는 그것을 시도했지만 내 사건에 영향을 미치지 않습니다.

1

또한 새 Java 프로젝트를 빌드하려고 할 때 여러 번이 오류가 발생했습니다.

아래는이 어리석은 문제를 해결 한 단계입니다.

  1. 빈 프로젝트를 만들고 새 디렉터리를 만듭니다 src/main/java.
  2. 소스 패키지를 만듭니다 net.gongmingqm10.sketch.
  3. gradle wrapper, gradle idea를 사용 하여 프로젝트를위한 gradle 항목을 빌드하십시오.
  4. build.gradle파일에 몇 가지 종속성을 추가 gradle build하고 프로젝트를 다시 가져옵니다.
  5. 기존 패키지 생성 User.javaSchool.javanet.gongmingqm10.sketch
  6. User.java에서 import School을 사용하려고 할 때 오류가 발생했습니다.
  7. Intellij는 가져 오기시 기호를 해결할 수 없다고 불평합니다.

해결책:

먼저 프로젝트를 빌드하고 main / java를 소스 루트로 표시하십시오. 같은 이름 으로 새 디렉토리만듭니다net.gongmingqm10.sketch . 이전 문제가있는 패키지의 모든 파일을 새 패키지로 이동합니다.

근본 원인 :

소스 코드의 디렉토리 트리

나무에서 볼 수 있듯이. 라는 디렉토리가 net.gongmingqm10.sketch있습니다. 그러나 우리가 정말로 필요한 것은 3 단계 디렉토리입니다 : net-> gongmingqm10-> sketch

그러나 Intellij에서 프로젝트 빌드를 마치기 전에라는 이름의 새 디렉터리를 생성하여라는 이름 net.gongmingqm19.sketch의 실제 디렉터리를 제공합니다 net.gongmingqm10.sketch.

가져 오려고 할 때. 분명히, 어떻게 intellij가 이름이 이상한 디렉토리 아래에서 파일을 가져올 수 있습니까 a.b.c?


고마워 친구, 이것이 내 문제였다. 편집 : 정교하게 ... 하나의 maven 모듈에서 다른 모듈로 복사했으며 사본은 디렉토리를 병합했습니다. Intellij는 모든 것이 정렬 된 것처럼 보였지만 실제로 내 폴더는 a> b> c가 아닌 "abc"였습니다.
Qbert

1

@Anton Dozortsev 나는 비슷한 행동에 열광했습니다. IDE를 여러 번 다시 설치했지만 IDEA 앱, 모든 캐시, 환경 설정 등을 제거한 후에 만 ​​문제가 발생했습니다.

중간에 모든 종류의 단계를 시도했습니다 (다시 시작, 무효화, 삭제 .idea*.iml파일 등).

문제는 IntelliJ의 idea.max.intellisense.filesize설정 때문이었습니다 . 내 종속성 크기보다 작은 100KB로 설정하여 IntelliJ가 스크린 샷에서와 같이 알 수 없음으로 표시했습니다.

고치다:

  1. 도움말-> 사용자 정의 속성 편집을 클릭하십시오.

  2. 속성을 더 큰 값으로 설정하십시오. 기본값은 2500KB입니다. idea.max.intellisense.filesize=2500


1

src 폴더가 java 대신 루트 소스표시 되었음을 알 때까지 동일한 문제가 발생했습니다 ! Java (src / main / java) 만 소스 루트로 변경하면 문제가 해결되었습니다. 여기에 이미지 설명 입력


1

오랜 검색 끝에 Maven 프로젝트에서 내 컴퓨터에서 종속성이 어떻게 든 손상되었음을 발견했습니다. 이상한 점은 컴파일 된 자바 코드에서 종속성이 여전히 올바르게 작동하고 있다는 것입니다. 그러나 Maven 종속성 캐시를 정리하고 다시 빌드하면 문제가 사라지고 IntelliJ가 패키지를 인식했습니다. 다음을 실행하여이를 수행 할 수 있습니다.

mvn dependency:purge-local-repository

놀랍게도 내 문제의 원인은 IntelliJ가 아니라 그 자체였습니다.


1

파일-> 동기화를 시도하십시오. 그런 다음 무효화하기 전에 IntelliJ를 닫았다가 다시 엽니 다.

일단 다시 시작했습니다. 나는 무효화했을 것이지만 동기화는 다시 시작한 후 모든 것을 지 웠습니다.


0

Simple Restart가 저에게 효과적이었습니다.

먼저 다시 시작하여 시도한 다음 캐시를 무효화하도록 선택할 수 있습니다.

추신 : 시스템 캐시를 정리하면 로컬 기록이 지워집니다.


0

가져온 Maven 프로젝트와 비슷한 문제가 발생했습니다. 한 모듈에서 다른 모듈의 일부를 가져올 때 심볼을 확인할 수 없습니다 (예, 해당 모듈의 일부를 확인할 수 있음).

"Maven 홈 디렉토리"를 최신 버전으로 변경하여 문제를 해결했습니다.

업데이트 : 1 시간 동안 사용 가능, 깨진 상태로 돌아 가기 ...


0

원인을 찾았습니다!

제 경우에는 Java 소스 파일이 포함 된 jar 파일을 추가했지만 Java 소스가 나쁘다고 생각합니다. Intellij Idea 종속성 라이브러리에서 소스를 자동으로 추가하므로 Editor에서 가져 오기가 나쁘고 "에서 소스 코드를 제거하십시오." 프로젝트 구조 "->"라이브러리 ", 저에게 적합합니다.


0

나를 위해 한 일은 실수 로이 jar 라이브러리에 소스를 추가하고 안드로이드가 b / m 그림 라이브러리 오류에 표시된 소스 행을 삭제하여 해결할 수 없었기 때문에 .idea 폴더의 패키지 파일을 편집하는 것 입니다.

그런 다음 gradle을 다시 빌드하고 문제를 해결했습니다.


0

나는 같은 문제가 있었고 그 이유는 프로젝트 소스의 잘못된 표시였습니다.

나는 수동으로 루트의 내용을 생성하고 그 통지를하지 않은 src/main/test폴더로 표시 한 Sources대신 Tests. 내 테스트 클래스는 모든 테스트 라이브러리 (이 가정 이유 그래서 즉 JUnit, Mockito컴파일의 범위가 아닌 테스트로, 등).

src/main/test테스트 로 표시 하고 모듈을 다시 빌드 하자마자 모든 오류가 사라졌습니다.


0

최근 Intellij를 사용하여 NiFi에서 작업하는 동안이 문제가 발생했는데, 문제는 NiFi에 Maven> = 3.1.0이 필요하고 내가 확인한 버전 (내 기본값 인 것 같음)이 3.0.5라는 것이 밝혀졌습니다. 프로젝트의 Maven 버전을 업데이트하면 문제가 해결되었으므로 어떤 경우에는 Maven 버전의 정렬이 잘못 될 수 있습니다 ... 상당히 드문 일이지만 스레드에서이 정도까지 도달하면 아마도 특이한 문제 :)


0

같은 문제. 이러한 방법이 작동하지 않는 경우. 로컬 maven 저장소에서 lib를 삭제하고 pom으로 다시 가져올 수 있습니다.

mvn 저장소

드디어 괜찮습니다.

계획


0

file-> Project Structure-> Modules, 문제가있는 모듈을 찾아 클릭 Dependencies하고 오른쪽에 있는 탭을 선택합니다 . 녹색 더하기 기호를 클릭하고 문제를 일으키는 병 또는 라이브러리를 추가해보십시오. 그것은 나를 위해 작동합니다.


0

위에서 시도한 것이 나에게 효과가 없었습니다 (모든 제안을 시도한 것은 아닙니다). 마지막으로 트릭은 클래스 이름을 바꾸는 것이 었습니다. 방금 클래스 이름과 파일 이름에 2를 추가했습니다. 그런 다음 모든 참조를 수동으로 해결했습니다. (인식되지 않았기 때문에 리팩토링은 참조를 자동으로 변경하지 않았습니다.)

"2- 버전"이 모든 곳에서 행복하게 해결되면, 저는 클래스와 파일에서 2를 리팩토링하고 제거 할 수 있었고 모든 것이 정상이었습니다.


0

제 경우 해결책은 내가 maven 프로젝트로 가져온 사실 외에도 프로젝트를 maven 프로젝트로 추가하는 것이 었습니다.

pom.xml로 이동-> 마우스 오른쪽 버튼으로 클릭-> maven 프로젝트로 추가


0

Intelli iDEA는 이러한 어리석은 문제를 여러 번 발생시킵니다. 간단한 goto pom.xml, 마우스 오른쪽 버튼으로 클릭하고 수행-> Maven-> 다시 가져 오기.

이렇게하면 문제가 해결됩니다.


0

2020.1.4 Ultimate 에디션의 경우 다음을 수행해야했습니다.

View -> Maven -> Generate Sources and Update Folders For all Projects

나에게 문제는 도서관이 mvn -U clean install터미널에서 채워지지 않았다는 것 입니다.

여기에 이미지 설명 입력


-1

실종 io? 시도해보십시오 import org.openide.util.io.ImageUtilities.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.