我无法从 gogo shell
更新我的包.
我有一个 gogo shell
在终端上运行。我的 bundle 在那里很活跃。
现在,当我更改代码时,需要哪些步骤才能将这些更改转发到正在运行的 OSGi 框架?
我运行更新 <bundleId>
但没有任何反应。它仍然运行我启动框架时编译的相同版本。
在更新命令之前,我打开了另一个终端并运行了 mvn clean install
(我正在使用 maven-bundle-plugin
和 pax-construct
)。
最佳答案
在使用 Maven 时,我检查更新代码的工作流程涉及两个终端。
- 更新代码后,我从将构建实际 bundle 的项目运行
mvn install
。跟踪构建目标包的系统上的绝对位置。 - 在运行的框架中,我更新了包,给它一个 URL;类似于
update 25 file:///Users/you/project/bundle/target/bundle.jar
如果你有空不用 Maven 和 Pax Runner,你也可以看看 bndtools ,这是一个 Eclipse 插件。然后,您仍然可以获取 bndtools 为您构建的包,并使用 Pax Runner 运行它们。
关于osgi - 如何在 Apache Felix OSGi Framework 中更新 Bundle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6770213/