如何在Apache Felix OSGi框架中更新Bundle



我在从gogo shell更新我的包时遇到麻烦。我有一个gogo shell在终端上运行。我的bundle在那里是活动的。

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

我运行更新<bundleId>,但没有发生任何事情。它仍然运行在我启动框架时编译的相同版本。在更新命令之前,我打开另一个终端并运行mvn clean install(我使用maven-bundle-pluginpax-construct)。

当使用Maven时,我检查更新代码的工作流程涉及两个终端。

  • 更新代码后,我从项目中运行mvn install,它将构建实际的bundle。跟踪目标包在系统中的绝对位置。
  • 在运行的框架中,我更新bundle,给它一个URL;比如update 25 file:///Users/you/project/bundle/target/bundle.jar

如果你可以不使用Maven和Pax Runner,你也可以看看bndtools,它是一个Eclipse插件。然后,你仍然可以使用bndtools为你构建的包,并使用Pax Runner运行它们。

另一个尝试是通过OBR本地回购如下:
-假设工件称为test-api,那么
a) g! deploy test-api在id: 25下部署
在对代码和mvn clean install进行进一步更改后:
1) g! update 25
2) g! refresh
如果没有结果,则在步骤1之前尝试g! repos refresh file:///c:/Users/.m2/repository.xml刷新本地OBR repo

相关内容

  • 没有找到相关文章

最新更新