Felix中的JMS ActiveMQ OSGI包

Felix中的JMS ActiveMQ OSGI包,jms,osgi,activemq,Jms,Osgi,Activemq,我正在尝试在Felix中添加一个新的OSGI包(没有Karaf)作为ActiveMQ客户端(消息发送方) ActiveMQ客户机在非OSGI环境中运行良好。但当我在Felix中使用相同的代码(稍加修改)时,它会抛出以下错误: org.osgi.framework.BundleException:无法解析 com.packtpub.felix.bookshelf-inventory-impl-mock[7](R 7.3):缺失 要求[com.packtpub.felix.bookshelf-inv

我正在尝试在Felix中添加一个新的OSGI包(没有Karaf)作为ActiveMQ客户端(消息发送方)

ActiveMQ客户机在非OSGI环境中运行良好。但当我在Felix中使用相同的代码(稍加修改)时,它会抛出以下错误:

org.osgi.framework.BundleException:无法解析 com.packtpub.felix.bookshelf-inventory-impl-mock[7](R 7.3):缺失 要求[com.packtpub.felix.bookshelf-inventory-impl-mock[7](R 7.3)]osgi.wiring.package;(&(osgi.willing.package=javax.jms)(版本>=1.1.0))未解析 要求:[[com.packtpub.felix.bookshelf-inventory-impl-mock[7](R 7.3)]osgi.willing.package;(&(osgi.willing.package=javax.jms)(版本>=1.1.0))]


非常感谢您提供的任何帮助。

打开信息包,您可以清楚地看到信息:

Unable to resolve com.packtpub.felix.bookshelf-inventory-impl-mock[7]
捆绑包7(com.packtpub.felix.bookshelf inventory impl mock)出现问题

(R 7.3): missing requirement 
您有一些更新,bundle 7在第三次修订中。不过,在这里不太相关:-)

您缺少一个包(osgi.willing.package是导入/导出包头的osgi命名空间。)

这是一个LDAP/OSGi过滤器。让我们打开它:

osgi.wiring.package=javax.jms
它正在寻找包
javax.jms

version>=1.1.0
版本应大于或等于1.1.0


javax.jms
是一个JavaEE包,而不是JRE的一部分。您需要找到导出它的捆绑包(使用正确的版本)。既然您编译了代码,那么您的构建中必须已经有了它。找到该捆绑包,并将其部署到您的框架中。

解压该消息将为您提供清晰的消息:

Unable to resolve com.packtpub.felix.bookshelf-inventory-impl-mock[7]
捆绑包7(com.packtpub.felix.bookshelf inventory impl mock)出现问题

(R 7.3): missing requirement 
您有一些更新,bundle 7在第三次修订中。不过,在这里不太相关:-)

您缺少一个包(osgi.willing.package是导入/导出包头的osgi命名空间。)

这是一个LDAP/OSGi过滤器。让我们打开它:

osgi.wiring.package=javax.jms
它正在寻找包
javax.jms

version>=1.1.0
版本应大于或等于1.1.0

javax.jms
是一个JavaEE包,而不是JRE的一部分。您需要找到导出它的捆绑包(使用正确的版本)。既然您编译了代码,那么您的构建中必须已经有了它。找到该捆绑包并将其部署到您的框架中