Проблема разрешения вложенного свойства MVEL
У меня есть следующий класс
private static class Person{
private int iq;
private Person[] minions;
public int getIq() {
return iq;
}
public Person[] getMinions() {
return minions;
}
}
Я пробую следующее выражение MVEL (1.3.16-java1.6) против этого кода
count = 0;
foreach (minion : minions){
if (minions[count].iq > 120) {
return true;
}
}
return false;
Однако у MVEL, похоже, есть проблемы с minions[count].iq
(или даже minions[0].iq
) построить.
Любые материалы будут оценены. Компиляторы точных куропаток есть
Caused by: java.lang.IllegalAccessException: Class org.mvel.optimizers.impl.asm.ASMAccessorOptimizer can not access a member of class Person with modifiers "public"
1 ответ
Решение
Ваш Person
класс является частным, поэтому я предполагаю, что он не будет виден ASMAccessorOptimizer
или если бы это было, ASMAccessorOptimizer
не будет иметь права на доступ к нему.
декларирование Person
общественность должна решить эту проблему.