OSGI无法解析root:无法使用javax.ws.rs启动bundle'缺少需求':osgi.wiring.package

时间:2017-04-30 21:37:25

标签: java web-services rest maven blueprint-osgi

我尝试启动一个OSGI REST包。我把以下导入包: javax.ws.rs, org.codehaus.jackson.jaxrs, org.apache.cxf.jaxrs.client,

当我运行捆绑包时,我收到以下错误:  osgi.wiring.package;滤波器:= “(!及(osgi.wiring.package = javax.ws.rs)(版本> = 2.0.0)((版本> = 3.0.0)))”]]]

1 个答案:

答案 0 :(得分:0)

Step1 :检查您是否已将这些包导入(运行时导入)到您的包中:

- 如果您正在使用maven-bundle-plugin构建捆绑包,请在pom.xml中执行以下操作:

    <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
            <instructions>
              ...
              <Import-Package>
                javax.ws.rs*,
                org.codehaus.jackson*,
                org.apache.cxf.jaxrs*,
              </Import-Package>
              ...
           </instructions>
        </configuration>
    </plugin>
  • 除非在manifest.mf。
  • 中列出这些包

第2步: ckeck这些包已经很好地部署在你的容器中:提供或手动部署在容器中。 如果使用Apache Karaf,则有一个名为cxf-jaxrs =&gt;的功能。安装/启动它。