Ala*_* M. 7 javascript java android javax.script
无论我尝试什么,getEngineByName()总是返回 null。
这是我的代码:
final ScriptEngineManager manager = new ScriptEngineManager();
final ScriptEngine engine = manager.getEngineByName("js");
Run Code Online (Sandbox Code Playgroud)
但engine在这些行之后为空。
我也尝试过:
getEngineByName("javascript")getEngineByName("nashorn")他们都回来了null。实际上,manager.getEngineFactories()显示一个空数组 - 意味着根本没有工厂。
这两个答案建议传递null给构造函数,但它对我不起作用:
这个答案说这是一个已修复的错误。
更新:
那是eclipse 中的Android 应用程序项目。
我不知道它与Java Project有何不同。
现在我刚刚打开一个新的Java 项目,写了这些行,我得到了一些结果:
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import javax.script.SimpleBindings;
public class TestClass {
public static void main(String[] args) throws ScriptException {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = scriptEngineManager.getEngineByName("js");
}
}
Run Code Online (Sandbox Code Playgroud)
engine不为空!
此外,javax.script.*已成功导入,就好像它已经存在(内置)一样。这是因为我使用的是 Java 8 吗?
在之前的(android)项目中,我使用的是从这里下载的javax.script。
那么Android项目中会出现什么问题以及如何解决呢?
| 归档时间: |
|
| 查看次数: |
16210 次 |
| 最近记录: |