사용자 도구

사이트 도구


intellij_idea

IntelliJ IDEA

프로젝트 시작

오류시 대응

  • 잦은 코드 업데이트시에 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 플러그인이 활성화 돼 있을 경우 이상 증상을 보이기도 하였는데, 내가 설정을 뭔가 잘못한 듯.
  • 특정 클래스가 분명히 아무런 문제가 없는데도 클래스를 찾을 수 없다(class not found)는 오류가 발생한다면 Settings → Build.. → Compiler → Excludes 에 우연히 추가 됐는지 확인한다.

Gradle 연동

  • IntelliJ IDEA 기본 Gradle 플러그인이 뛰어난 편이라서 Gradle의 idea 플러그인을 사용하지 않아도 된다.
  • Gradle Task들에 Execute After Sync, Execute Before Sync 등을 지정하면 Gradle Project를 refresh 할 때마다 지정된 시점에 해당 태스크를 실행해준다. 소스 제너레이션이나 IntelliJ 설정을 변경해주는 task를 실행해주면 좋다.

Windows Cygwin

  • Cygwin 환경의 git, bash 등을 사용하려면 C:\cygwin64\bin 처럼 cygwin의 bin 디렉토리를 Windows PATH에 추가해 둬야 한다.

Cygwin Bash Terminal

JetBrains annotation 제거

@NotNull 등 리팩토링시 jetbrains annotation이 붙는 현상을 없애고 싶으면 프로젝트 의존성에서 annotations.jar가 들어갔는지 확인해본다. Gradle 에서는 다음과 같이 제거한다.

configurations.all {
    exclude group: 'org.kohsuke.jetbrains', module: 'annotations'
}
  • 또한, 컴파일시 @Nonnull 등이 지정돼 있으면 IntelliJ가 해당 메소드에 값이 null이 들어오면 예외를 발생시키는 코드를 자동 주입하는데, 이 기능에 의해 원치 않는 예외가 발생할 수도 있다. Build, Execution, Deployment → Compiler 에서 Add runtime assertions for not-null-annotated methods and parameters를 꺼주면 된다.

Git + SSH 작동 안 할 때

  • Fetch failed: Could not read from remote repository. 오류 발생 및 idea.log 확인시
    Caused by: java.io.IOException: Cannot negotiate, proposals do not match. 
    ... 등등 발생
  • Linux에서 Git repository를 SSH 로 사용하는데 잘 작동하지 않으면 설정 → Version Control → Git → SSH executable:Native로 변경한다.

Java Application 실행시 Classpath 가 올바로 지정 안 되는 현상

  • 특히 Windows 에서 명령행의 명령 길이 제한으로 인해 Java Application 실행시 classpath가 올바로 지정 안 되는 현상이 발생할 수 있다.
  • Run/Debug Configuration 설정에서 Command line shortner 설정을 해주면 된다.
    • 실행 환경이 뭐냐에 따라 어떤 방식이 올바로 작동하는지 확신할 수 없으므로 이것 저것 테스트 해봐야 한다.
    • None : 아무것도 안함
    • JAR Manifest : classpath.jar 를 생성하고 MANIFEST.MFClass-Path 속성으로 처리
    • classpath file : 별도 파일을 생성해 클래스패스 적어줌.
    • User-local default : Intellij 과거 방식.

Multiple Project

외부 프로그램 실행

  • Tools → External Tools 를 통해서 외부 프로그램을 실행할 수 있다.

Themes

  • Cyan Light 너무 어둡지도 너무 밝지도 않은 테마.
  • Nord 어두운 계통이지만 너무 어둡지 않고 차갑게 느껴지는 테마.

Intellij Ultimate Linux 최신 버전 다운로드 링크 확인

# 버전 번호만 확인
curl -fsSL "https://data.services.jetbrains.com/products?code=IIU%2CIIC&release.type=release" | jq '[.[].releases[].version][0]'
 
# Linux 다운로드 링크
curl -fsSL "https://data.services.jetbrains.com/products?code=IIU%2CIIC&release.type=release" | jq '[.[].releases[].downloads.linux.link][0]'

참조문서

intellij_idea.txt · 마지막으로 수정됨: 2022/10/17 16:48 저자 kwon37xi