IT

[ERROR] Error running '{ClassName}': Command line is too long. Shorten command line for {ClassName} IntelliJ 실행 에러

코딩하는 너구리 2020. 9. 13. 18:33
반응형

 

AWS S3 파일 업로드 작업을 진행하다가 IntelliJ에서 갑자기 오류 발생으로 프로젝트 실행이 되지 않았다.

 

관련 해결책을 찾다가 xml 수정도 해보았지만 해결되지 않았고, 제대로 된 해결책을 봐서 기록을 남긴다.

 

우선 에러가 발생하는 이유는 

" IntelliJ에서 바로 실행할 때에는 class path를 자동으로 잡게 하는데, 이 때문에 run command가 너무 길어져서 발생하는 문제이다. 정상적으로 실행되는 경우에도 알고 보면 아래처럼 어마 무시하게 run command가 길다."

 

run command 길이가 OS limit를 넘으면 실행할 수 없게 된다. 이를 해결하기 위해서는 Run/Debug Configuration에서 Shorten command line의 옵션을 수정해야 한다.

 

 

4가지 옵션중 하나를 선택할 수 있다.

  • None: 기본 옵션 값. IDE에서 긴 classpath를 줄여주지 않는다. command line이 OS limit를 초과하는 경우 IDEA는 애플리케이션을 실행할 수 없다. - 에러가 발생했다면 None으로 설정된 상태였을 것이다.
  • JAR Manifest: IDE는 임시 claspath.jar를 사용해서 긴 classpath 사용을 회피한다. 실제 classpath는 classpath.jar의 MANIFEST.MF 안에 정의되어 있다.
  • classpath file: text 파일에 긴 classpath를 써둔다.
  • User-local default: Legacy property이다. IDE는 idea/workspace.xml 파일에서 지정된 옵션 값을 따른다.

 

쉽게 해결하기 위해서는 Shorten command line 옵션 값을 JAR Manifest로 지정하여 해결하였다.

 

 

 

 

 

참고 : deep-dive-dev.tistory.com/45

반응형