Felix笔记2-使用OBR(OSGi Bundel Repository)

1. The repository XML Descriptor

    在POM文件组中指定打包部署后的Bundle所存放的本地仓库:

          <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>2.3.4</version>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Bundle-Category>sample</Bundle-Category>
                        <Bundle-SymbolicName>${artifactId}</Bundle-SymbolicName>
                        <Export-Package>
                            com.packtpub.felix.bookshelf.inventory.api
                        </Export-Package>
                    </instructions>
                    <remoteOBR>repo-rel</remoteOBR>
                    <prefixUrl>file:///C:/projects/felixbook/releases</prefixUrl>
                    <ignoreLock>true</ignoreLock>
                </configuration>
            </plugin>

      执行mvn clean deploy 命令后在C:/projects/felixbook/releases目录下自动生成:repository.xml文件,见附件。

      说明:该仓库包含许多的资源以方便下载,其中resource的uri属性指定了资源下载的路径。

2.  Using the OBR scope commands

     Gogo命令Bundel 注册了许多命令用于与OBR服务进行交互,常见的命令有:

2.1 obr:repos,用于管理ORB服务的repository.

      help obr:repos,查看该命令的用法。

      repos add file:///C:/projects/felixbook/releases/repository.xml,用于registor repository

      with the OBR service;

      也可以在config.properties中通过逗号分隔配置多个repository.

      repos remove file:///C:\projects\felixbook\releases,用于移除注册的repository.

      repos list,用于列出当前已经注册的repository.

2.2 obr:list,用于查找已经注册在仓库中的Bundel并显示Bundle的详细信息。

      list -v book

      显示仓库中bundle名称中包含book的Bundle.

2.3 obr:info,用与重新找到或显示仓库中一个或多个Bundle的可用信息。

      obr:info 3

      显示Apache Felix Gogo Shell Runtime Bundle的相关信息。

2.4  obr:deploy,用于从仓库中下载Bundle,并将其安装至Felix 实例中。

       如:deploy -s "Bookshelf Service Ch6"

       obr:source和obr:javadoc,用于下载Bundle的Source和JavaDoc文档至本地目录中。

2.5  Updating bundles in the repository

       命令:repos refresh file:C:/projects/book/releases/repository.xml,将C:/projects/book/releases

       目录下 的repository.xml添加至OBR Service;

       命令:repos refresh,将显示当前Felix实例中的repository,默认显示http://felix.apache.org/obr/releases.xml。

 

 

你可能感兴趣的:(repository)