Android上的MVEL2抛出异常

时间:2013-06-26 11:38:03

标签: android mvel

有没有人在Android上有MVEL2的经验?

我用一个简单的java程序尝试了相同的代码,后来又用android:

在android:

上执行时抛出以下异常
E/AndroidRuntime(30793): java.lang.ExceptionInInitializerError

我尝试了mvel网站上的例子:

String template = "Hello, my name is @{name.toUpperCase()}";
Map vars = new HashMap();
vars.put("name", "Michael");
System.out.println(TemplateRuntime.eval(template, vars));

如果没有解决方案,任何人都可以建议一个适用于android的模板引擎 并支持迭代?

2 个答案:

答案 0 :(得分:5)

MVEL2尝试在初始化解析器时对系统java.version属性的前3个字符进行子串,在Android下,版本为0.这会导致一堆异常,最终导致ExceptionInInitializerError。

如果要强制使用java.version属性,可以自己设置:

System.setProperty("java.version", "1.6");

我不知道这会给Android造成什么样的奇怪副作用,但至少它会让MVEL解析器启动并运行而不会抛出异常!

答案 1 :(得分:1)

带有“java.version”键的System.setProperty似乎只能在android中读取,所以它不起作用。 我试图将MVEL 2集成到android中但没有成功,try using EVAL lib