본문 바로가기
에러 기록

org.hibernate.validator.spi.scripting.ScriptEvaluatorNotFoundException: HV000232: No JSR 223 script engine found for language "javascript". 에러 - 스프링

by 샤샤샤샤 2024. 1. 12.

@ScriptAssert 를 사용할시 다음과 같은 오류가 발생한다.

 

원인:

JDK8 ~ 14까지는 Javascript를 지원하는 Nashorn 엔진을 쓰지만, JDK14 이후부터는 Javascript가 지원되지 않는 GraalVM을 사용하기 때문이라고 한다. 뭔 소리인지 정확히 모르겠지만 JVM 버전이 높아서 터진 문제다.

 

해결:

 JVM을 낮추는 것은 간단하지만 위험한 해결법이고, 스프링 부트 3.x 버전 이상부터는 무조건 jvm 17이상을 사용해야 하기에 낮출수도 없다.

dependencies {
	implementation 'org.openjdk.nashorn:nashorn-core:15.3'
}

이런 식으로 디펜던시를 추가하면 해결된다.