0
私は、しかし、このコードMVELネストされたプロパティの解決の問題
count = 0;
foreach (minion : minions){
if (minions[count].iq > 120) {
return true;
}
}
return false;
に対して次のMVEL(1.3.16-java1.6)の発現をしようとしている以下のクラスに
private static class Person{
private int iq;
private Person[] minions;
public int getIq() {
return iq;
}
public Person[] getMinions() {
return minions;
}
}
を持ってMVEL minions[count].iq
(またはさらにminions[0].iq
)の構成に問題があるようです。
すべての入力をいただければ幸いです。コンパイラ正確なライチョウは、このように私はそれがASMAccessorOptimizer
に見えないと仮定したり、それが希望の場合、ASMAccessorOptimizer
がそれにアクセスする権利を持っていないだろう、
Caused by: java.lang.IllegalAccessException: Class org.mvel.optimizers.impl.asm.ASMAccessorOptimizer can not access a member of class Person with modifiers "public"
私はMVE1を知りませんが、 'Person'クラスはプライベートなので' ASMAccessorOptimizer'は実際に 'Person'を見ないかもしれないし、アクセス権を持っていないかもしれません。 – Thomas
@トーマス。良いキャッチ。 MVELは、たとえクラスがプライベートであったとしても、 "iq <50"などの式に問題はありませんでした。それはちょっと私を捨てた。あなたが答えを加えることができるなら、私はそれを受け入れるでしょう – qwerty
答えとしてコメントを追加しました。 – Thomas