Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ApacheFelixOSGi框架中更新Bundle_Osgi_Bundle_Apache Felix_Pax Runner - Fatal编程技术网

如何在ApacheFelixOSGi框架中更新Bundle

如何在ApacheFelixOSGi框架中更新Bundle,osgi,bundle,apache-felix,pax-runner,Osgi,Bundle,Apache Felix,Pax Runner,从gogo shell更新捆绑包时遇到问题。 我在终端上运行了一个gogoshell。我的包在那里是活跃的 现在,当我对代码进行更改时,需要哪些步骤将这些更改转发到正在运行的OSGi框架中 我运行了更新,但什么也没发生。它仍然运行与我启动框架时编译的版本相同的版本。 在执行更新命令之前,我打开了另一个终端并运行了mvn clean install(我正在使用maven bundle plugin以及pax construct)。在使用maven时,检查更新代码的工作流涉及两个终端 更新代码后,

gogo shell
更新捆绑包时遇到问题。 我在终端上运行了一个
gogoshell
。我的包在那里是活跃的

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

我运行了更新
,但什么也没发生。它仍然运行与我启动框架时编译的版本相同的版本。
在执行更新命令之前,我打开了另一个终端并运行了
mvn clean install
(我正在使用
maven bundle plugin
以及
pax construct
)。

在使用maven时,检查更新代码的工作流涉及两个终端

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

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

另一种尝试是通过OBR本地回购,如下所示:
假设工件被称为测试api,那么
a)
g!部署测试api
在id:25下部署
对代码进行进一步更改后,请执行以下操作:

1)
g!更新25

2)
g!刷新

如果没有结果,则在步骤1)之前尝试
g!回购刷新file:///c:/Users/.m2/repository.xml
刷新本地OBR repo

OSGi框架是否在您的计算机上运行,或者您是否与您的终端有远程连接?非常感谢!绝对类路径做到了这一点。我以前尝试过使用relative,但遇到I/O异常。(或者可能是我把它卖错了……)