본문 바로가기
Intellij

[IntelliJ] Cannot resolve symbol... 에러

by xunxou 2021. 2. 27.

토이 프로젝트를 위해 maven 프로젝트를 생성했다.

그런데 pom.xml에 maven dependency가 에러없이 설정됐음에도 불구하고 import가 수행되지 않는 현상이 발생했다.

그리고 문제를 해결하는데에는 3일이 소요되었다..

해당 현상을 해결하기 위해 한 시도 중 도움이 될만한 내용을 몇가지 적어보았다.


환경


  • mac OS
  • maven 프로젝트

 

문제


IntelliJ에서 pom.xml에 selenium-java dependency를 추가했고 에러는 없었다.

그런데 아래 이미지와 같이 import가 제대로 수행되지 않는 문제가 발생했다.

에러 메시지는 Cannot resolve symbol 'openqa' 였다.

jdk와 selenium-java 버전을 확인했지만 이상이 없었고, pom.xml 코드에도 문제가 없었다.

.jar 파일을 직접 다운받아 프로젝트에 적용시키는 방법도 있지만, maven 프로젝트의 이점을 활용할 수 없는것이 싫어 해결방법을 찾아보기로 했다.

 

해결


1. 캐시삭제 후 IntelliJ 재시작하기

이 작업을 수행하여 상당수가 해당 에러를 해결한 것으로 보였다.

방법은 아래 포스팅을 참고한다.

es2sun.tistory.com/246

 

[IntelliJ] 캐시 삭제 및 IDE 재시작

IntelliJ 에서 라이브러리가 제대로 imort되지 않거나 변경사항이 적용되지 않을때 캐시를 지워주면 해결되는 경우가 있다. IntelliJ에서 캐시를 삭제하는 방법은 간단하다. 1. 캐시를 삭제에 관련한

es2sun.tistory.com

하지만 나는 이 작업을 해도 해당 에러가 해결되지 않았다.

따라서 다음 과정을 수행했다.

 

2. IntelliJ 업데이트

IntelliJ 를 최신으로 업데이트 한 뒤 해결되었다는 어느분의 글을 보았다.

그래서 Toolbox에서 IntelliJ를 최신으로 업데이트 했고, 문제는 해결되지 않았다.

 

3. IntelliJ 설정 변경

IntelliJ 를 실행한 상태에서 왼쪽 상단의 [IntelliJ IDEA] > [Preferences...] 를 클릭한다.

아니면 아래의 [command] + [,]  단축키를 입력해도 된다.

 

[Build, Execution, Deployment] > [Build Tools] > [Maven]  메뉴를 선택한다.

그러면 아래와 같은 화면이 뜬다.

 

[Maven] 하위의 [Importing] 를 클릭하면 아래와 같이 설정 화면이 표시된다.

아래 내용을 체크표시하고 설정한다.

체크

  1. Importing Maven projects automatically
  2. Create IntelliJ IDEA modules for aggregator project
  3. Keep source and test folders on reimport
  4. Exclude build directory
  5. Use Maven output directories

설정

  1. Generated sources forders : "Detect automatically" 로 지정한다.
  2. Automatically download : "Sources" & "documentation" 선택한다.

 

4. 프로젝트 구조

혹시나 싶어 프로젝트 구조가 제대로 잡혀있는지 확인했다.

IntelliJ 에서 왼쪽 상단의 [File] > [Project Stricture] 메뉴를 클릭하면 아래 이미지와 같은 창이 뜬다.

왼쪽 메뉴에서 [Project Settings] > [Modules] 를 클릭해 아래 내용을 확인한다.

  • [src] > [main] > [java] 폴더가 Source Folders로 지정되어 있는지 확인
  • [src] > [test] > [java] 폴더가 Test Source Folders로 지정되어 있는지 확인

 

5. maven 명령 수행

최종적으로는 아래 maven 명령을 IntelliJ의 터미널에 실행하니 해결되었다.

mvn clean install

메이븐 빌드를 통해 생성된 모든 파일을 삭제 > 패키징 > 로컬 저장소에 배포하는 명령어이다.

clean: maven 빌드를 통해 생성된 모든파일을 삭제한다.

install: 패키징한 파일을 로컬 저장소에 배포한다.

 

출처


stackoverflow.com/questions/15727356/intellij-idea-cannot-resolve-anything-in-maven