본문 바로가기
이전개발자료/에러리포트

STS Internal Error 에러 : Do you want to exit the workbench?

by 캡틴쿼카 2021. 9. 10.
반응형

 에러내용

 

STS로 스프링 프로젝트를 실행중에 아래와 같은 에러가 나왔다.

해결방법을 찾다가 같은 삽질을 하지 않기위해 글을 작성한다.

 

 

 문제파악

 

특정 API를 호출할 때, 위와 같은 에러가 나오면서 STS 가 꺼지는 문제가 발생하였다.

처음에는 메모리 문제인줄 알고 백엔드코드를 살펴보았지만 특이한 코드는 발견하지못하였다.

그러던와중 특이점을 발견했는데, 포스트맨으로 실행시 위와 같은 문제가 발생하지 않는 것을 발견하지않고, 프론트에서 실행하면 위 문제가 발생하였다.

문제확인후, 두 방법의 차이점을 분석해보였다.

 

POSTMAN 은 Body 에 데이터를 싣어보낼때 보기좋은 JSON 형태로 변경하여 보낸다.

[
	[
		{
			"key1" : "value1",
			"key2" : "value2",
			"key3" : "value3",
			"key4" : "value4",
			"key5" : "value5",
			...
		}
	],
	...
	[
		{
			...
		}
	]
]

프론트에서 실행할때는 이를 JSON.stringify 에 감싸서 보내기때문에 아래와 같이 보낸다.

[[{"key1" : "value1","key2" : "value2","key3" : "value3","key4" : "value4","key5" : "value5",...}],...[{...}]]

 

 결론

  • 데이터양이 많아질 경우, 대부분의 초보 백엔드 개발자들은 이를 확인하기위해 또는 로그로 남기기위해 로그를 찍거나 pirntln을 사용할 것이다.
  • 나의 경우에는 println을 사용하였는데, 이때 POSTMAN의 경우에는 개행문자가 포함되어있어 STS의 콘솔창이 개행을 시켜 정상 작동을 하였지만, 프론트엔드에서 호출 할 경우, 개행문자가 포함되어있지않아 한번에 출력하다보니 위 사진과 같은 에러가 나왔다.
  • println을 주석처리하고, 실행하였더니 해당문제가 발생하지 않았다. 
  • 물론, 저 에러가 나와 같은 케이스가 아닐 수도 있지만 누군가 똑같은 고생을 하지 않기를 바라며 이 글을 작성한다.

 

본 포스팅은 정답노트라기 보다는
경험과 생각을 정리한 낙서장입니다.

 

반응형

댓글