killme2008 / aviatorscript

A high performance scripting language hosted on the JVM.
http://fnil.net/aviator/
4.64k stars 852 forks source link

编译表达式解析不出表达式的变量 #626

Closed yicold1204 closed 5 months ago

yicold1204 commented 6 months ago

环境:Java 8 ,avaitor版本:5.41 情况描述:我这边获取了AviatorEvaluatorInstance后,执行表达式“e1001+e1003”,方法直接在http接口中调用,能够正常解析出两个变量e1001和e1003,但是在消息队列中调用解析出来的变量名称是0,有时候关掉缓存又能用,但是第二天又不行了

b5fe59abd8ff21385aef18d163a3c19 ccefa64c902a00c8329387719b7dc74

killme2008 commented 5 months ago

检查你的 classpath 里是不是有多个 aviatorscirpt 版本依赖吧,大概率是这个问题

jiangyunpeng commented 5 months ago

检查你的 classpath 里是不是有多个 aviatorscirpt 版本依赖吧,大概率是这个问题

大佬,如果在 aviator 中增加一段检测代码,当发现classpath存在多个版本直接报错,这样做是否合适?

killme2008 commented 5 months ago

这不是一个类库的职责