OSGi:缺少要求osgi.wiring.package

我写了一个包含5个模块的项目。 我使用maven在intellij IDEA中创建它们,然后为所有模块添加“OSGi”框架支持。 我使用maven-bundle-plugin来配置export-package和import-package。 但是当我运行它时,总会出现错误:

org.osgi.framework.BundleException: Unable to resolve org.gxkl.launcher [12] (R 12.0): missing requirement [org.gxkl.launcher [12](R 12.0)] osgi.wiring.package; (osgi.wiring.package=org.gxkl.server). 

启动程序模块包含Bundle-Activator,org.gxkl.server包位于服务模块中。 我使用类似的pom来配置模块,但只有服务模块出错。 启动器中的pom文件如下:

    ${parent.artifactId} ${parent.groupId} ${parent.version}  ${model.version} launcher bundle  ...  ${project.groupId} service ${project.version}  ...     org.apache.maven.plugins maven-source-plugin   org.apache.maven.plugins maven-compiler-plugin   org.apache.felix maven-bundle-plugin true   org.gxkl.Starter  org.gxkl    ... org.gxkl.server        

服务中的pom文件如下:

    ${parent.artifactId} ${parent.groupId} ${parent.version}  ${model.version} service bundle ...  ...     org.apache.maven.plugins maven-source-plugin   org.apache.maven.plugins maven-compiler-plugin   org.apache.felix maven-bundle-plugin true    org.gxkl.server, ...   ...       

错误消息表示bundle launcher导入包org.gxkl.server但框架中没有导出包的包。

顺便说一句,您可以从POM中删除部分。 他们不需要。