본문 바로가기
etc

Error running '{ClassName}': Command line is too long. Shorten command line for {ClassName}. 해결; Shorten command line

by 돈코츠라멘 2019. 10. 16.

IntelliJ에서 테스트를 실행할 때 또는 개발한 애플리케이션을 실행할 때에도 이러한 에러가 발생하면서 실행되지 않는 경우가 있다. IntelliJ에서 바로 실행할 때에는 class path를 자동으로 잡게 하는데, 이 때문에 run command가 너무 길어져서 발생하는 문제이다. 정상적으로 실행되는 경우에도 알고 보면 아래처럼 어마 무시하게 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 파일에서 지정된 옵션 값을 따른다.

따라서 Error running '{ClassName}': Command line is too long. Shorten command line for {ClassName}. 에러가 발생할 때 가장 쉽게 해결할 수 있는 방법은 Shorten command line 옵션 값을 JAR Manifest로 지정한다.

 


Reference

댓글