작성
·
719
·
수정됨
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
현재 jdk17 이상부터는 @ScriptAssert에서 자바스크립트를 지원하지 않아서 오류가 뜨는데 17버전 이상부터는 @ScriptAssert를 어떻게 사용하나요??
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. 강민석님의 질문에 대해 답변 드립니다.
여러분이 겪고 계신 @ScriptAssert
에서 자바스크립트를 지원하지 않는 문제는 JDK 17 이상 버전에서 내장된 Nashorn JavaScript 엔진이 제거되어 발생합니다. 이와 관련해 다른 학습자분들이 비슷한 상황을 경험하고 해결책을 모색한 사례가 있어 관련 내용을 공유드립니다.
예를 들어, ScriptAssert 에러 문제 라는 질문에서는 스프링 부트 3.0.2와 Java 버전 17.0.6을 사용할 때 @ScriptAssert
를 사용하여 자바 스크립트 코드를 실행하면 오류가 발생하는 문제를 언급하고 있습니다. JDK 14 이후 버전에서 JavaScript가 지원되지 않기 때문에 발생하는 문제로, 대안으로 GraalVM 같은 다른 JavaScript 엔진을 사용하는 옵션이 있다는 것이 언급되어 있습니다.
다른 경우로 @ScriptAssert 스프링 3.0.1 이상 / jdk 17 버전 이상 실행 불가 임시방편 에 관한 질문에서는 gradle 파일에 implementation("org.openjdk.nashorn:nashorn-core:15.3")
을 추가하여 임시방편으로 사용가능하다고 언급되었지만, 이 방법은 장기적인 해결책이 아닐 수 있습니다.
해결 방안으로는 다음과 같은 옵션이 있습니다:
1. JDK 17 이상에서 문제없이 동작하는 다른 자바스크립트 엔진을 사용합니다.
2. 특정 기능을 수행하기 위한 커스텀 Validator를 구현하여 @ScriptAssert
대신 사용할 수 있습니다.
3. 만약 가능하다면, JDK 버전을 다운그레이드하여 문제가 없는 버전을 사용하는 방법도 있습니다. 하지만 이는 장기적인 해결책이 아닐 수 있습니다.
질문에 대한 더 세부적인 해결책을 원하시면 강의 담당 지식공유자에게 직접 질문을 남겨 보다 구체적인 지원을 받으실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.