java – ScriptEngineManager.getEngineFactories返回appengine没有工厂
作者:互联网
以下代码返回一个空数组.
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineFactory;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
ScriptEngineManager manager = new ScriptEngineManager();
List<ScriptEngineFactory> factories = manager.getEngineFactories();
它适用于开发环境,但未部署.
即使将js.jar从rhino添加到lib文件夹并将其添加到类路径中,也找不到EngineFactories.
我究竟做错了什么?
解决方法:
GAE是一个非常优化的Java运行时.即使ScriptEngineManager位于支持的类的白名单中,仍然有一个设置可以使其工作.
你需要注册Rhino服务,我有线索存档但不完全.
要注册该服务,您必须创建文件’META-INF / services / javax.script.ScriptEngineFactory’,其中一行具有实现’ScriptEngineFactory’接口的Rhino类的确切类名.我的问题是我找不到这些课.
如果有人知道请编辑.
标签:java,scripting,google-app-engine,rhino,javax-script 来源: https://codeday.me/bug/20190704/1378522.html