gpt4 book ai didi

apache-felix - 如何以编程方式调用 Felix/Karaf shell 命令?

转载 作者:行者123 更新时间:2023-12-02 02:19:18 25 4
gpt4 key购买 nike

如果我检测到我在开发环境中运行,我想自动调用 Karaf“dev:watch”命令。我考虑过将 dev:watch * 直接添加到 etc/shell.init.script 但我不希望它无条件运行。因此,我正在考虑创建一个简单的服务来检查 Java 属性(像 -Ddevelopment=true 这样简单的东西)并调用 org.apache.karaf.shell.dev.Watch 本身。我想我可以用 (&(osgi.command.function=watch)(osgi.command.scope=dev)) 向 OSGi 请求一个 Function 实例,但是我需要创建一个模拟 CommandSession 只是为了调用它。这似乎太复杂了。有没有更好的方法?

最佳答案

自 Apache Karaf 3.0.0 以来,大多数命令都由 OSGi 服务支持。

因此,例如 bundle:watch 命令正在使用该服务“org.apache.karaf.bundle.core.BundleWatcher”。

所以只要绑定(bind)这个服务就可以很方便的调用bundle:watch功能了。

关于apache-felix - 如何以编程方式调用 Felix/Karaf shell 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9102393/

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