Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 8 使用HibernateValidator';Java8上的ScriptAssert_Java 8_Hibernate Validator_Nashorn - Fatal编程技术网

Java 8 使用HibernateValidator';Java8上的ScriptAssert

Java 8 使用HibernateValidator';Java8上的ScriptAssert,java-8,hibernate-validator,nashorn,Java 8,Hibernate Validator,Nashorn,我们正处于从Java7切换到Java8的过程中(我想大概是时候了:-),我们在使用HibernateValidator的ScriptAssert时遇到了一些问题。看起来Nashorn Javascript引擎未正确初始化 ScriptAssert的使用方法如下 @ScriptAssert( lang = "javascript", script = "_this.owner != null && _this.owner.id != null" +

我们正处于从Java7切换到Java8的过程中(我想大概是时候了:-),我们在使用HibernateValidator的ScriptAssert时遇到了一些问题。看起来Nashorn Javascript引擎未正确初始化

ScriptAssert的使用方法如下

@ScriptAssert(
    lang = "javascript",
    script = "_this.owner != null && _this.owner.id != null"
        + " && _this.owner.id.matches('^[0-9A-F]{8}-[0-9A-F]{4}-[1-5][0-9A-
F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$')"
)
我们得到的是一个如下所示的异常,这种情况发生在Linux上的JDK1.8.0131上

任何帮助都将不胜感激。下面是堆栈跟踪

java.lang.NoSuchMethodError: invokeExact(Ljava/lang/Object;Ljava/lang/Object;)V 位于jdk.nashorn.internal.runtime.AccessorProperty.invokeSetter(AccessorProperty.java:462) ~[nashorn.jar:?] 位于jdk.nashorn.internal.runtime.AccessorProperty.setValue(AccessorProperty.java:485) ~[nashorn.jar:?] 位于jdk.nashorn.internal.runtime.ScriptObject.橡皮擦属性值(ScriptObject.java:916) ~[nashorn.jar:?] 位于jdk.nashorn.internal.runtime.ScriptObject.deleteOwnProperty(ScriptObject.java:928) ~[nashorn.jar:?] 位于jdk.nashorn.internal.runtime.ScriptFunction.createBuiltin(ScriptFunction.java:324) ~[nashorn.jar:?] 位于jdk.nashorn.internal.runtime.ScriptFunction.createBuiltin(ScriptFunction.java:339) ~[nashorn.jar:?] 位于jdk.nashorn.internal.runtime.ScriptFunction.createBuiltin(ScriptFunction.java:350) ~[nashorn.jar:?] 位于jdk.nashorn.internal.objects.NativeFunction$Prototype。(未知) 来源)~[nashorn.jar:?] 位于jdk.nashorn.internal.objects.NativeFunction$Constructor。(未知) 来源)~[nashorn.jar:?] 位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) ~[?:1.8.0_131] 位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_131] 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_131] 位于java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_131] 在java.lang.Class.newInstance(Class.java:442)~[?:1.8.0131] 位于jdk.nashorn.internal.objects.Global.initConstructor(Global.java:2549) ~[nashorn.jar:?] 位于jdk.nashorn.internal.objects.Global.initFunctionAndObject(Global.java:2618) ~[nashorn.jar:?] 在jdk.nashorn.internal.objects.Global.init(Global.java:2257)~[nashorn.jar:?] 位于jdk.nashorn.internal.objects.Global.initBuiltinObjects(Global.java:1094) ~[nashorn.jar:?] 位于jdk.nashorn.internal.runtime.Context.initGlobal(Context.java:1150) ~[nashorn.jar:?] 位于jdk.nashorn.api.scripting.NashornScriptEngine.createNashornGlobal(NashornScriptEngine.java:360) ~[nashorn.jar:?] 位于jdk.nashorn.api.scripting.NashornScriptEngine。(NashornScriptEngine.java:143) ~[nashorn.jar:?] 位于jdk.nashorn.api.scripting.NashornScriptEngineFactory.getScriptEngine(NashornScriptEngineFactory.java:148) ~[nashorn.jar:?] 位于javax.script.ScriptEngineManager.getEngineByName(ScriptEngineManager.java:238) ~[?:1.8.0_131] 位于org.hibernate.validator.internal.util.scriptengine.ScriptEvaluatorFactory.createNewScriptEvaluator(ScriptEvaluatorFactory.java:87) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final] 位于org.hibernate.validator.internal.util.scriptengine.ScriptEvaluatorFactory.getScriptEvaluatorByLanguageName(ScriptEvaluatorFactory.java:70) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final] 位于org.hibernate.validator.internal.constraintvalidators.hv.ScriptAssertContext.getScriptEvaluator(ScriptAssertContext.java:60) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final] 位于org.hibernate.validator.internal.constraintvalidators.hv.ScriptAssertContext.(ScriptAssertContext.java:34) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final] 位于org.hibernate.validator.internal.constraintvalidators.hv.ScriptAssertValidator.initialize(ScriptAssertValidator.java:43) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final] 位于org.hibernate.validator.internal.constraintvalidators.hv.ScriptAssertValidator.initialize(ScriptAssertValidator.java:28) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final] 位于org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorManager.initializeValidator(ConstraintValidatorManager.java:225) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final] 位于org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorManager.CreateanInitializeValidator(ConstraintValidatorManager.java:151) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final] 位于org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorManager.getInitializedValidator(ConstraintValidatorManager.java:109) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final] 位于org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.getConstraintValidatorNoUnwrapping(ConstraintTree.java:301) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final] 位于org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.getConstraintValidatorInstanceForAutomaticUnwrapping(ConstraintTree.java:242) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final] 位于org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.getInitializedConstraintValidator(ConstraintTree.java:163) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final] 位于org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.validateConstraints(ConstraintTree.java:116) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final] 位于org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.validateConstraints(ConstraintTree.java:87) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final] 位于org.hibernate.validator.internal.metadata.core.MetaCo