我在OSGi中提供了一个使用Spark来提供休息端点的服务。
我收到以下错误:
Error executing command: Error executing command on bundles:
Error starting bundle 66: Unable to resolve OSGiConsumerProducer.ProducerConsumer.helloendpoint [66](R 66.0): missing requirement [OSGiConsumerProducer.ProducerConsumer.helloendpoint [66](R 66.0)] osgi.wiring.package; (osgi.wiring.package=spark.Spark.get) Unresolved requirements: [[OSGiConsumerProducer.ProducerConsumer.helloendpoint [66](R 66.0)] osgi.wiring.package; (osgi.wiring.package=spark.Spark.get)]
我已经由POM定义编译如下:
<instructions>
<Bundle-SymbolicName>${parent.groupId}.${parent.artifactId}.helloendpoint</Bundle-SymbolicName>
<Bundle-Activator>com.osgi.endpoint.EndpointActivator</Bundle-Activator>
<Import-Package>
spark.Spark.get
</Import-Package>
<Export-Package>
com.osgi.endpoint.HelloEndpointAPI
</Export-Package>
<Bundle-ManifestVersion>2</Bundle-ManifestVersion>
</instructions>
我假设我只需要导出我的impl类使用的接口,然后导入Spark包,因为我在这个模块中使用它?
我是否需要将Spark安装到Karaf?
答案 0 :(得分:0)
您确定spark.Spark.get
是Java包的名称吗?这听起来更像是方法名称。
我的建议是完全删除这些说明的Import-Package
部分。该工具能够确定您的捆绑包需要导入哪些包。