我尝试启动一个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)))”]]]
答案 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>
第2步: ckeck这些包已经很好地部署在你的容器中:提供或手动部署在容器中。 如果使用Apache Karaf,则有一个名为cxf-jaxrs =&gt;的功能。安装/启动它。