잦은 코드 업데이트시에 IDE의 인덱싱 데이터와 실제 코드간의 불일치로 코드상에 문제가 없는데도 오류가 발생하는 경우가 간혹 발생한다.
File → Invalidate Caches를 실행하여 인덱스를 재생성해본다.
프로젝트디렉토리/out/ 혹은 /classes/ 디렉토리를 완전히 삭제하고 Build → Rebuild Project해 본다.
.idea, *.iml 등의 파일을 모두 삭제하고 프로젝트를 다시 import 해본다.
JAVA 버전을 검사해본다.
IntelliJ 내에서 실행하는 JetGradle 명령은 JAVA_HOME 환경 변수의 영향을 받으므로 이 값이 정확히 설정돼 있는지 검사해 본다.
가끔씩 웹 프로젝트가 아닌데 웹 프로젝트 Facet으로 설정되거나 엉뚱한 파일을 Deployment Descriptor로 잡는 경우가 발생하여 오류가 발생한다. Project structure → Facets/Artifacts에서 웹 프로젝트 관련 Facet 설정이 올바른지 항상 확인한다.
웹 프로젝트 Run Configuration에서 해당 실행 설정의 Deployment에서 Artifact를 삭제했다 다시 넣는다. Artifact 이름이 같더라도 프로젝트 리프레시후에 다른 아티팩트를 가리키는 현상이 발생한다.
Osmorc 플러그인이 활성화 돼 있을 경우 이상 증상을 보이기도 하였는데, 내가 설정을 뭔가 잘못한 듯.
Debug 모드에서 성능 저하
Debug 모드에서 코드의 Line이 아닌 메소드 선언부에 Break Point를 걸면 엄청난 성능 저하가 발생한다.
메소드 선언부 Break Point는 피하라.
Gradle 연동
IntelliJ IDEA 기본 Gradle 플러그인이 뛰어난 편이라서 Gradle의 idea 플러그인을 사용하지 않아도 된다.
현재 GRADLE-2198 Java Source Level을 인식하지 못하는 버그가 있는데, 이는 Gradle쪽 버그이다.