我已经在网上寻找解决方案,但没有一个真正奏效。我要离开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环境中工作,我不知道为什么它不起作用。问题是,如何解决这个问题。
发布于 2018-10-16 09:08:11
此错误表示您的环境不包含导出包org.eclipse.jetty.http.ssl的包。由于包导入中没有版本信息,所以在包的构建路径中也没有适当绑定的版本(如果有的话,maven-bundle-plugin就会找到版本并将其添加到导入中)。
对于org.eclipse.jetty.http.ssl的这一需求对于您的包来说是新的,或者它以前是由Fuse 6.2.1中的另一个包提供的,而Fuse 6.3.0中不再存在这个包。
无论如何,您需要首先修复包,要么将Jetty的相关部分放在构建路径上,以便在导入时得到一个版本范围,要么删除泄漏到包中的新依赖项。然后,如果需要,您可以简单地部署您的包所需的其他捆绑包。
https://stackoverflow.com/questions/52813864
复制相似问题