Для следующего фрагмента кода я получаю ошибку «несоответствие типа аргумента». Если я использую прокомментированную строку, она работает нормально.Получение «несоответствия типа аргумента» во время оценки выражения MVEL
Может кто-нибудь объяснить причину такого поведения?
Есть ли способ, с помощью которого можно оценить первое выражение?
VariableResolverFactory functionFactory = new MapVariableResolverFactory();
Object value = MVEL.eval("def StringValueWithLength(str) { int myLen = str.toString().length(); return String.valueOf(str) + \":\" + myLen; }; StringValueWithLength(\"qwert\");", functionFactory);
//Object value = MVEL.eval("def StringValueWithLength(str) { return String.valueOf(str) + \":\" + str.toString().length(); }; StringValueWithLength(\"qwert\");", functionFactory);
System.out.println("Value : " + value);
Получение ошибки компилятора с последней версией mvel, какую версию вы используете? 'MapVariableResolverFactory' ожидает аргумент« Карта » – Saravana
JDK 1.8 и mvel2-2.3.1.Final. –