osgi - 如何在 Apache Felix OSGi Framework 中更新 Bundle

标签 osgi bundle apache-felix pax-runner

我无法从 gogo shell 更新我的包. 我有一个 gogo shell在终端上运行。我的 bundle 在那里很活跃。

现在,当我更改代码时,需要哪些步骤才能将这些更改转发到正在运行的 OSGi 框架?

我运行更新 <bundleId>但没有任何反应。它仍然运行我启动框架时编译的相同版本。 在更新命令之前,我打开了另一个终端并运行了 mvn clean install (我正在使用 maven-bundle-pluginpax-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/

相关文章:

java - 如何将 OSGI Embed-Dependency 用于常见的第 3 方 JAR-s

Magento 以编程方式创建 bundle 产品

Symfony 2 - 如何确定 autoload.php 和 Appkernel.php 的命名空间和 Bundle 名称

maven - apache maven 构建失败 - 无法执行目标 org.apache.felix :maven-bundle-plugin:4. 2.0:manifest

liferay - 在 osgi 文件夹中复制后,Liferay 7 tomcat 中的 war 在哪里爆炸

C++ 模块化框架(如 OSGi)?

java - 如何在 OSGi 中的不同包中扩展测试类

symfony - 扩展 Symfony2 White October 管理 bundle 表单字段?

java - 为什么在使用 Apache Felix Gogo 启动我的最小示例包时会出现 BundleException?

java - OSGi 包未启动 : missing requirement osgi. wiring.package; > &(osgi.wiring.package=org.apache.felix.dm)