OSGi捆绑存储库(如何在服务器上托管它们)?
我想发布一个产品,它仅仅是一个配置好的OSGi容器。当容器启动时,它应该根据容器的配置下载并安装应用程序——包括应用程序所有功能的最新捆绑包。当应用程序的较新版本可用时,我希望应用程序自动下载并更新/安装捆绑包的较新版本,以便最终用户能够无缝地看到它 基于ApacheFelixOSGibundle存储库文档(目前已经过时)的详细信息,我认为这就是OBR的目的。对吗 如果没有,那么对于这种情况有什么解决方案 如果是:OSGi捆绑存储库(如何在服务器上托管它们)?,osgi,Osgi,我想发布一个产品,它仅仅是一个配置好的OSGi容器。当容器启动时,它应该根据容器的配置下载并安装应用程序——包括应用程序所有功能的最新捆绑包。当应用程序的较新版本可用时,我希望应用程序自动下载并更新/安装捆绑包的较新版本,以便最终用户能够无缝地看到它 基于ApacheFelixOSGibundle存储库文档(目前已经过时)的详细信息,我认为这就是OBR的目的。对吗 如果没有,那么对于这种情况有什么解决方案 如果是: OBR存储库是什么样子的?我设想它看起来有点像一个maven存储库,可以通过In
最后,是否有一个简单的例子来说明所有这些是如何协同工作的?您的理解完全正确。使用OBR时要注意的主要问题是,当SOE规范最终确定时,XML格式发生了很大变化。有时“OBR支持”指旧样式,有时指新样式。只要客户机和服务器是一致的,两者都可以。新的格式更加丰富,但目前旧样式得到了更广泛的支持 要设置自己的http主机,可以使用(以前称为bindex)。ApacheAries也有一个 将“索引”目标与maven bundle插件结合使用将生成OBR元数据,以及 最后,如果您不想直接管理http服务器,Nexus和Karaf Cave提供了OBR存储库托管
您可能也会发现这个问题很有帮助:这是我为一个用Maven编译的项目所做的一次 您需要的:
- 用于部署jar文件的Maven存储库(如Sonatype Nexus)
- 用于上载repository.xml文件的ftp或webDAV服务器(Nexus Pro可以这样做,但您必须付费…)
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.3.7</version>
<extensions>true</extensions>
<executions>
<execution>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
<configuration>
<remoteOBR>repository.xml</remoteOBR>
<altDeploymentRepository>my.obr.name::default::ftp://obr.example.com</altDeploymentRepository>
<prefixUrl>http://my.maven.repository.com/content/groups/public</prefixUrl>
<ignoreLock />
</configuration>
</plugin>
我仍然存在的唯一问题是,repository.xml文件中没有列出依赖项
也许您可以使用Eclipse Orbit来检索一些依赖项:
但我还没有试过
g! obr:repos add ftp://obr.example.com/repository.xml
g! obr:deploy my-artifact