gpt4 book ai didi

javascript - 无法在 Karaf OSGi 中加载 ScriptEngineManager 和 ScriptEngine(找不到 Nashorn)

转载 作者:数据小太阳 更新时间:2023-10-29 06:05:31 25 4
gpt4 key购买 nike

我正在尝试使用 ScriptEngineManagerScriptEngine 通过 Java 执行一些 JavaScript 代码。我使用 Java 8 我在 Karaf OSGi 下执行这段代码。

我使用的示例在示例 Java 类中运行良好,但将其打包为一个包时出现此错误 ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider jdk.nashorn.api.scripting。找不到 NashornScriptEngineFactory

当我查看包的 header 时,我看到包导入了 javax.script, 被调用类的包,但似乎 (nashorn) 找不到提供者。

谢谢

最佳答案

转到文件 etc/config.properties(位于 Karaf 安装内部),找到配置属性 org.osgi.framework.bootdelegation 并添加 jdk.nashorn.*给它。完整的配置将是这样的:

org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,org.apache.karaf.jaas.boot.principal,sun.*,com.sun.*,javax.transaction,javax.transaction.*,javax.xml.crypto,javax.xml.crypto.*,org.apache.xerces.jaxp.datatype,org.apache.xerces.stax,org.apache.xerces.parsers,org.apache.xerces.jaxp,org.apache.xerces.jaxp.validation,org.apache.xerces.dom,sun.*,jdk.nashorn.*

Bug报告给 Karaf 社区。

编辑:如果您在测试中使用 Pax Exam Container 4.x for Karaf,那么不要忘记添加 org.ops4j.pax.exam.CoreOptions.bootDelegationPackage("jdk.nashorn.*")到您的测试容器的配置。

关于javascript - 无法在 Karaf OSGi 中加载 ScriptEngineManager 和 ScriptEngine(找不到 Nashorn),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37555486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com