我最近写了一种小型的专家脚本语言,并使用Maven导出了与OSGi兼容的捆绑软件,该捆绑软件还将服务描述符导出到“ META- INF/services/javax.script.ScriptEngineFactory
”服务注册表文件中。
问题是,尽管OSGi导入和导出程序包很好,但是服务注册表似乎与OSGi不兼容(因为OSGi使其捆绑包脱离了常规类路径,并为模块使用了单独的类加载器)。
我的问题是,我是否认为OSGi与服务发现机制不兼容是正确的;如果不兼容,我可以在捆绑软件元数据中添加什么,以便ScriptEngineManager.getEngineFactories()
列出OSGi环境中的脚本引擎?
Apache
Sling
确实在OSGi环境中使用此机制来管理其JSR-233兼容脚本引擎,主要是通过其ScriptEngineManagerFactory类[1]。另请参阅[2]以获取示例自定义脚本引擎的信息。
如果兼容JSR-233,则将脚本引擎添加到Sling应该可以。最简单的测试方法可能是使用您的语言而不是那里使用的服务器端javascript语言来遵循“
15分钟内完成Sling”教程[3]。
[1]
http://svn.apache.org/repos/asf/sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptEngineManagerFactory.java
[2]
http://svn.apache.org/repos/asf/sling/trunk/bundles/scripting/javascript
[3] http://sling.apache.org/site/discover-sling-
in-15-minutes.html
关于JSR223采样器语言, 我可以在 javascript(ECMAScript ECMA 262 Edition 51/Oracle Nashorn 1.8.0_144) 我能以某种方式编辑列表吗?删除未使用的脚本语言? (也有ecmascript语言具有相同的属性)
问题内容: 我的应用程序需要基于JVM的脚本语言,并希望了解Groovy,Ruby和Python之外的其他功能。 Google一直在http://scripting.dev.java.net/上将我指向死页 问题答案: 这不是官方列表,但您可以从此处开始:http : //en.wikipedia.org/wiki/List_of_JVM_languages Rhino(JavaScript)默认
问题内容: 我通过JSR 223使用Nashorn来执行用户输入脚本的小片段: 不同的用户脚本会调用在静态中央库(在上面的代码片段的String中保留)中定义的JavaScript函数。 每次我想获得可以从Java调用的an时,我总是不得不重新编译大型库代码。 有什么方法可以将以前编译的代码与新代码结合在一起? 问题答案: 这是由JSR-223设计的;后面真的没有代码缓存。嗯,从 理论上讲 可以,
尽管为 AutoHotkey 1.0 编写的许多脚本不需要修改就可以运行在 AutoHotkey 1.1 上,然而由于两种版本的根本区别可能使得某些功能运行不正常。因为最主要出现问题的差异只影响高级功能(例如 DllCall),大多数用户不需要担心。 AutoHotkey 1.1 也称为“AutoHotkey_L”,而 AutoHotkey 1.0 则表示“AutoHotkey Basic”。Au
Qore 是一个模块化、支持多线程的、集成SQL、弱类型的面向过程和对象的脚本语言,语法简单易懂。 Qore supports safe signal handling, exception handling and exception-safe programming, XML and JSON integration as well as TLS/SSL socket support, HTT