run이 안 된다. command line이 너무 길단다. 너 저번에는 되지 않았니...? Shorten the command line and rerun <- 이걸 눌러봤는데 해결은 안되고 되려 하루를 잡아먹었다.
발생원인 : 클래스 경로가 너무 길거나, vm의 인수가 많을 때 발생한다고 한다.
해결 자체는 간단했다.
리본메뉴 > Run > Modify options > Shorten command line > JAR manifest로 변경
기본은 none으로 되어 있을 건데, 이건 IDE에서 classpath를 줄이지 않고 그대로 사용하다보니 command line이 OS에 지정된 limit을 초과할 경우 문제가 발생하는 것이라고 한다.
JAR manifest로 설정하면 IDE가 임시 classpath.jar를 사용해서 긴 classpath를 처리한다. 실제 classpath는 classpath.jar의 MANIFEST.MF에 설정된다. ...고 하는데 MANIFEST.MF를 열어봐도 잘 모르겠다. 어떻게 classpath를 처리하기에 command line을 줄여준다는 건지? 는 찾아봐야됨.
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Spring-Boot-Classpath-Index: BOOT-INF/classpath.idx
이 세 항목들과 연관이 있나 싶다.
차라리 코드가 안 돌아가면 어떻게든 해결이 되는데... 셋팅에서 문제생기는 건 넘 힘들다.
참고
https://www.baeldung.com/intellij-idea-command-line-is-too-long
'삽질' 카테고리의 다른 글
intellij import 안 됨 + 자동 import 설정 (3) | 2022.12.07 |
---|---|
Intellij debug 모드 시작 느려질 때 (0) | 2022.11.17 |
[Maven] java.lang.NoSuchMethodError: org.apache.maven.model.validation.DefaultMo (0) | 2022.10.10 |
[MySQL] Access denied for user 'root'@'localhost' 비밀번호 변경x (0) | 2022.07.20 |