java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Direct self-reference leading to cycle (through reference chain:
fasterxml jackson 을 사용해 JSON 변환시 Object 스스로를 직접 참조하도록 되어있는 경우 발생하는 오류입니다.
순환고리가 되는 property를 끊어주면 됩니다.
가장 쉬운 방법은 @JsonIgnore 가 있습니다.
1. maven, gradle 혹은 직접 다운로드한 lombok.jar 를 java -jar 명령어로 실행합니다.
2. 그럼 아래 화면이 뜹니다.
- 저는 STS를 install하지 않고 copy해서 쓰고 있어서 Can't find IDE 팝업 뜨네요.
- 확인을 누르고 왼쪽 하단에 "Specify location..." 버튼을 누릅니다.
3. 직접 STS 실행파일을 선택합니다.
4. Install / Update 버튼을 누릅니다.
5. 설치가 성공했습니다.
6. 설치확인을 위해 ini 파일을 엽니다.
- "-javaagent:D:\project\ide\sts-4.2.1.RELEASE\lombok.jar" 가 추가된것을 확인할 수 있습니다.
7. STS를 재시작합니다.
- File > Restart 가 아닌 완전히 종료 후 다시 시작하는 걸 권장합니다.
8. Help > About Spring Tool Suite 4 에서 lombok 설치를 확인할 수 있습니다.
9. 이렇게 했는데도 컴파일 오류가 나신다면 아래 방법을 시도해봅니다.
- 프로젝트 우측 마우스 > Maven > Update Project
- 프로젝트 우측 마우스 > Gradle > Refresh Gradle Project
10. 그래도 안되면 최후의 방법.
- 프로젝트를 삭제했다가 다시 Import 하니 되네요. ㄷㄷㄷ
JSP EL Implicit Objects
오류 발생 시
아래 dependency 추가
원인
1. URL 앞의 http:// 가 누락 되었거나,
2. 파라미터의 인코딩이 깨졌거나