当前位置: 首页 > 知识库问答 >
问题:

如何让OSGiScriptEngineManager运行

孟晨朗
2023-03-14

我对OSGi不是完全的新手,但显然已经够新手了。

我想做的是编写一个OSGi(ApacheFelix)包,并将Java脚本API(JSR-223)与Groovy结合使用。为此,我安装了groovy 2.4.12,它已经是一个OSGi捆绑包,我将groovy运行时(2.4.12)视为Felix远程Shell控制台中的一个活动服务。

我也理解Java的ServiceLoader API和OSGi的捆绑包之间的冲突。这是OSGi与JSR-223脚本语言发现根本不兼容吗?指的是一个博客,声明Felix已经找到了一个解决方案。

很好。但是后来。使用OSGiScriptEngineManager sniplet需要导入什么?

共有1个答案

祁凯泽
2023-03-14

如果您使用Maven,类似的功能可能会起作用:

 <dependency>
     <groupId>org.apache.felix</groupId>
     <artifactId>org.apache.felix.mishell</artifactId>
     <version>1.0.0</version>
 </dependency>

但我认为这个软件包从未发布过,可能是一个死项目。你可以试着自己编译https://github.com/Dexels/apachecon/tree/master/org.apache.felix.mishell

我尽量避免使用ServiceLoader,如果你说他们提供Groovy作为OSGi服务,那么你真的应该使用它。

如果您只是想使用Groovy,我建议您:

import org.codehaus.groovy.jsr223.GroovyScriptEngineFactory;
import javax.script.ScriptEngine;

public class Test {

    public static void main(String[] args) {
        ScriptEngine e = new GroovyScriptEngineFactory().getScriptEngine();
    }
}
 类似资料:
  • 问题内容: 我在Docker中安装pipenv: 我收到错误: 如果我跑步 相反,即时通讯收到另一个错误: 但是当我改为执行以下操作时: 这是工作… 于是两个问题:第一:为什么给我这个错误,第二:为什么我必须做之前得到它的工作? 我想使用pipenv创建具有不同python版本和不同依赖版本的虚拟环境。 问题答案: 考虑到您的问题,据我所知,最简单的方法是更新到的最新版本。它仍在开发中,因此很快就

  • 我们正在尝试将迁移作为.sql文件置于版本控制之下。开发人员将编写一个vn__*.sql文件,提交到版本控制,并且每5分钟运行一次的作业将自动迁移到开发和测试数据库。一旦更改被证明没有引起问题,其他人就会运行一个手动作业来在生产上运行迁移。 我的问题: 我有一个演示迁移,创建了几个表。我将v4__demotable.sql检查到PC上的版本控制中。 阅读文档时,开发人员似乎建议我应该创建一个新的v

  • 我只是花了一些时间试图将现有的android studio项目从Gradle1.8迁移到Gradle1.9final(昨天11月19日发布),但失败了。 我在这里读了大多数其他与年级相关的帖子,但没有一个对我有用。以下是我到目前为止尝试过的内容: null

  • 作为一名测试人员,我希望通过使用PHPUnit来测试代码的安全性和可靠性。 目前,PHPUnit只通过了11项测试中的第一项。然后它放弃其余的测试,没有消息。 我尝试过的: 删除PHPUnit,清除我的缓存(),并重新安装PHPUnit() 确保每个测试文档字符串中都有 使用\test[a-zA-Z]\作为函数名 使用phpunit--filter[未运行的测试的名称] 将PHPUnit从v8.4

  • 问题内容: 抱歉,我有点菜鸟,我只想知道我如何让此javascript每秒钟运行一次? 源代码: 问题答案: 使用setInterval()每x毫秒运行一段代码。 您可以将要每秒运行的代码包装到一个名为的函数中。 因此它将是: 要停止它,可以运行:

  • 问题内容: 交互启动Alpine Docker容器时如何自动运行?我已经向文件中添加了一些别名并将其放置在中,但是当我使用来启动容器时,我的别名没有处于活动状态。我每次必须从命令行手动键入。 登录时是否需要其他配置才能运行?我在使用文件时也遇到了问题。任何见解表示赞赏! 编辑: 根据VonC的回答,我拉出并运行了他的示例容器。这是我得到的: 尽管该文件存在,但是在我登录并且未更新我的环境变量时,该