Reason for Exception java.lang.VerifyError: Bad type on operand stack while writing rule in Mvel
Reason for Exception java.lang.VerifyError: Bad type on operand stack while writing rule in Mvel
我是 Mvel 的新手。执行以下 mvel 表达式时出现错误。对于大小小于 20 但不大于 that.This 的计划,此表达式执行良好 that.This 行为由大小大于 20 的计划显示。
if (true) {
tmp.__tmp = ent.data.plans;
if (tmp.__tmp != null) {
for (int index =0; index < ent.data.plans.size(); index++){
element=ent.data.plans[index];
System.out.println(element.name );}}}
出现以下错误
java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
ASMAccessorImpl_4263943071452801154960.getValue(Ljava/lang/Object;Ljava/lang/Object;Lorg/mvel2/integration/VariableResolverFactory;)Ljava/lang/Object; @45: invokeinterface
Reason:
Type 'java/lang/Object' (current frame, stack[1]) is not assignable to integer
Current Frame:
bci: @45
flags: { }
locals: { 'ASMAccessorImpl_4263943071452801154960', 'java/lang/Object', 'java/lang/Object', 'org/mvel2/integration/VariableResolverFactory' }
stack: { 'java/util/List', 'java/lang/Object' }
Bytecode:
0x0000000: 2d12 0eb9 0014 0200 b900 1901 00c0 001b
0x0000010: 121d b900 2102 00c0 0023 b600 27c0 0029
0x0000020: 2d12 2bb9 0014 0200 b900 1901 00b9 002e
0x0000030: 0200 b0
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
at java.lang.Class.getConstructor0(Class.java:3075)
at java.lang.Class.newInstance(Class.java:412)
请帮忙。
我收到由 org.mvel2.optimizers.OptimizationNotSupported 引起的异常。此行为显示为 DynamicOptimizer 在 ASM 优化器失败时没有任何回退。反射优化器似乎是一个很好的回退选项,mvel 已修复这是最新版本的 mvel2 (2.2.7)。
我已经升级了 mvel2 版本,现在 null-safe bean 导航工作正常。
我是 Mvel 的新手。执行以下 mvel 表达式时出现错误。对于大小小于 20 但不大于 that.This 的计划,此表达式执行良好 that.This 行为由大小大于 20 的计划显示。
if (true) {
tmp.__tmp = ent.data.plans;
if (tmp.__tmp != null) {
for (int index =0; index < ent.data.plans.size(); index++){
element=ent.data.plans[index];
System.out.println(element.name );}}}
出现以下错误
java.lang.VerifyError: Bad type on operand stack Exception Details: Location: ASMAccessorImpl_4263943071452801154960.getValue(Ljava/lang/Object;Ljava/lang/Object;Lorg/mvel2/integration/VariableResolverFactory;)Ljava/lang/Object; @45: invokeinterface Reason: Type 'java/lang/Object' (current frame, stack[1]) is not assignable to integer Current Frame: bci: @45 flags: { } locals: { 'ASMAccessorImpl_4263943071452801154960', 'java/lang/Object', 'java/lang/Object', 'org/mvel2/integration/VariableResolverFactory' } stack: { 'java/util/List', 'java/lang/Object' } Bytecode: 0x0000000: 2d12 0eb9 0014 0200 b900 1901 00c0 001b 0x0000010: 121d b900 2102 00c0 0023 b600 27c0 0029 0x0000020: 2d12 2bb9 0014 0200 b900 1901 00b9 002e 0x0000030: 0200 b0
at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) at java.lang.Class.getConstructor0(Class.java:3075) at java.lang.Class.newInstance(Class.java:412)
请帮忙。
我收到由 org.mvel2.optimizers.OptimizationNotSupported 引起的异常。此行为显示为 DynamicOptimizer 在 ASM 优化器失败时没有任何回退。反射优化器似乎是一个很好的回退选项,mvel 已修复这是最新版本的 mvel2 (2.2.7)。
我已经升级了 mvel2 版本,现在 null-safe bean 导航工作正常。