我已经在线搜索了解决方案,但实际上都没有。我从JBossFuse 6.2.1开始迁移。到JbossFuse 6.3.0。这包括升级我所管理的依赖关系,其中大多数。现在,我陷入了这个错误:
执行命令时出错:启动捆绑包时出错:
无法启动捆绑包390:捆绑包管道-接收-ws-外部-cxf中未解决的约束[390]:无法解析390.0:缺少要求[390.0] osgi.wiring.package; (osgi.wiring.package = org.eclipse.jetty.http.ssl)
我正在使用通过以下方式配置的maven-bundle-plugin:
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Import-Package>
org.apache.camel.*;version="[${camel.range.start},${camel.range.end})",
ms.common.wsdl,template.velocity,org.eclipse.jetty.server,*
</Import-Package>
<Export-Package>
eu.unicorn.basse.ms.pipeline.reception.route.ws.external.cxf.*
</Export-Package>
<_removeheaders>Import-Service</_removeheaders>
</instructions>
</configuration>
</plugin>
我不确定如果它在较旧的JbossFuse环境下可以工作,为什么不起作用。问题是,如何解决这个问题。
答案 0 :(得分:1)
此错误表示您的环境不包含用于导出软件包org.eclipse.jetty.http.ssl
的捆绑软件。由于软件包导入中没有版本信息,因此表明您的软件包的构建路径中也没有适当捆绑的版本(如果您这样做了,那么maven-bundle-plugin会找到一个版本并将其添加到您的导入)。
对org.eclipse.jetty.http.ssl
的此要求对您的捆绑软件来说是新的,或者以前由Fuse 6.2.1中的另一个捆绑软件提供,而在Fuse 6.3.0中不再存在。
无论如何,您都需要从修复捆绑包开始,方法是将Jetty的相关部分放在构建路径上,以便在导入时获得版本范围,或者删除泄漏到捆绑包中的新依赖项。然后,如果需要,您可以简单地部署捆绑软件所需的其他捆绑软件。