【发布时间】:2017-09-26 02:40:27
【问题描述】:
我想创建一个使用休眠进行数据库事务的包。在进入休眠状态之前,我使用的是普通的sql。在camel.xml 中提到休眠和相关配置后,我尝试在 ServiceMix 中部署捆绑包。当我尝试使用 start 525 启动此捆绑包时,我收到一条错误消息:
Error executing command: Error executing command on bundles:
Error starting bundle 525: Unable to resolve my.package.artifactid [525](R 525.0): missing requirement [my.package.artifactid [525](R 525.0)] osgi.wiring.package; (osgi.wiring.package=javax.interceptor) Unresolved requirements: [[my.package.artifactid [525](R 525.0)] osgi.wiring.package; (osgi.wiring.package=javax.interceptor)]
这是用于 javax.interceptor 的。我把这个包放在<Export-Package></Export-Package> 的maven bundle felix 插件pom.xml 中。这解决了问题,但后来对 org.hibernate 和其他包显示了相同的错误。
我的问题是,当我把它放在<Export-Package> 标签中时,我做对了吗?如果这是正确的,我必须为大量的包继续这样做。有没有办法摆脱这个忙碌的程序?
如果我做错了,我该怎么办?
【问题讨论】:
-
这个错误似乎表明你的模块需要导入javax.inteceptor。您可以尝试将“javax.interceptor”放入
中吗?关于导入:您可以通过在 maven 捆绑插件的配置中指定 * 将其留给 maven 捆绑插件来填充大部分清单条目。如果 maven bundle plugin 遗漏了一些必需的包,请在星号后添加: *, package1, package2
标签: apache-camel osgi apache-felix osgi-bundle apache-servicemix