有没有人有幸将脚本引擎加载到 Karaf 中。我已经看到一些关于将脚本引擎加载到 OSGi 容器中的旧链接: - https://devnotesblog.wordpress.com/2011/09/07/scripting-using-jsr-223-in-an-osgi-environment/ -是OSGi 从根本上与 JSR-223 脚本语言发现不兼容?
但是到目前为止还没有运气加载到karaf。我在这里尝试做的简单示例项目:
https://gitlab.com/mkwyche/helpful-hints/tree/master/renjin-karaf
每次我尝试加载脚本。使用以下行:
ScriptEngineManager manager = new ScriptEngineManager();
// create a Renjin engine:
engine = manager.getEngineByName("Renjin");
// check if the engine has loaded correctly:
if(engine == null) {
throw new RuntimeException("Renjin Script Engine not found on the classpath.");
}
我得到一个找不到类的异常:
at java.lang.Thread.run(Thread.java:745)[:1.8.0_60]
原因:java.lang.RuntimeException:在类路径上找不到 Renjin Script Engine。在 datadidit.helpful.hints.renjin.karaf.RenjinKarafTest.testRuntime(RenjinKarafTest.java:24) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_60] 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:62)[:1.8.0_60] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_60] 在 java.lang.reflect.Method.invoke(Method.java:497)[: 1.8.0_60] 在 org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299)[12:org.apache.aries.blueprint.core:1.6.2] 在 org.apache.aries.blueprint .container.BeanRecipe.invoke(BeanRecipe.java:980)[12:org.apache.aries.blueprint.core:1.6.2] 在 org.apache.aries。
我尝试过嵌入包、动态导入等...任何建议将不胜感激。
谢谢。