javax.script.ScriptException: ReferenceError: xxx is not defined in eval
生活随笔
收集整理的這篇文章主要介紹了
javax.script.ScriptException: ReferenceError: xxx is not defined in eval
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
大家好,我是烤鴨:
?? ?今天使用 javax.script.ScriptEngine 遇到一個奇怪的問題,無法識別js方法。
1. 報錯內容:
javax.script.ScriptException: ReferenceError: "a" is not defined in <eval> at line number 1057at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:470) ~[nashorn.jar:na]at jdk.nashorn.api.scripting.NashornScriptEngine.invokeImpl(NashornScriptEngine.java:392) ~[nashorn.jar:na]at jdk.nashorn.api.scripting.NashornScriptEngine.invokeFunction(NashornScriptEngine.java:190) ~[nashorn.jar:na]at com.mys.my.wechat.utils.aes.JSSecret.getDatas(JSSecret.java:50) ~[classes!/:1.0.0-SNAPSHOT]at com.mys.my.wechat.WxMpDemoApplication.main(WxMpDemoApplication.java:26) [classes!/:1.0.0-SNAPSHOT]at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_201]at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_201]at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_201]at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_201]at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [wxChat.jar:1.0.0-SNAPSHOT]at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [wxChat.jar:1.0.0-SNAPSHOT]at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [wxChat.jar:1.0.0-SNAPSHOT]at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51) [wxChat.jar:1.0.0-SNAPSHOT] Caused by: jdk.nashorn.internal.runtime.ECMAException: ReferenceError: "a" is not definedat jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57) ~[nashorn.jar:na]at jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:319) ~[nashorn.jar:na]at jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:291) ~[nashorn.jar:na]at jdk.nashorn.internal.objects.Global.__noSuchProperty__(Global.java:1442) ~[nashorn.jar:na]at jdk.nashorn.internal.scripts.Script$Recompilation$17$41307AAAA$\^eval\_.d(<eval>:1057) ~[na:na]at jdk.nashorn.internal.scripts.Script$Recompilation$16$41694A$\^eval\_.myFunc(<eval>:1069) ~[na:na]at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:639) ~[nashorn.jar:na]at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:494) ~[nashorn.jar:na]at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:393) ~[nashorn.jar:na]at jdk.nashorn.api.scripting.ScriptObjectMirror.callMember(ScriptObjectMirror.java:199) ~[nashorn.jar:na]at jdk.nashorn.api.scripting.NashornScriptEngine.invokeImpl(NashornScriptEngine.java:386) ~[nashorn.jar:na]... 11 common frames omitted2. 問題查找
?
不說了, 貼幾張圖全明白了。下次還是仔細點吧.
服務器上的文件大小,41KB。
本地文件,42 KB.
對比后發現多了一個字符,導致無法識別方法。
?
總結:
? ?
? ? ?其實一開始報錯已經指出 1057行代碼有問題,找了本地的文件沒問題,沒注意線上和本地文件有差異。
?
關于如何使用 javax.script.ScriptEngine 使用js 方法,可以參考這篇文章
https://www.cnblogs.com/jifeng/p/8901168.html
總結
以上是生活随笔為你收集整理的javax.script.ScriptException: ReferenceError: xxx is not defined in eval的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java Web 路径问题
- 下一篇: 用android程序帮美女换衣服源码