android - android 上的 MVEL2 抛出异常

标签 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 的模板引擎 并支持迭代?

最佳答案

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

如果你想强制 java.version 属性,你可以简单地自己设置它:

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

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

关于android - android 上的 MVEL2 抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17318977/

相关文章:

scripting - Elasticsearch 脚本中的类型转换

java - 在 mvel 中将字符串转换为整数

java - MVEL嵌套属性解析问题

android - 在 Android 设备上仅使用相机选项的 HTML 输入文件类型

android - Delphi XE5中心android布局

android - 如何通过API获取用户的用户名和密码在GitHub上注册?

mvel - 如何在 MVEL for/foreach 循环中中断或继续

Android onPressBack 问题

android - 我可以将 Renderscript 上的输入和输出分配设置为不同的大小/维度吗?

java - Drools 引用静态场