在新版本的JBossFuse中,束中未解决的约束突然出现

时间:2018-10-15 09:42:20

标签: osgi bundle jbossfuse

我已经在线搜索了解决方案,但实际上都没有。我从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环境下可以工作,为什么不起作用。问题是,如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

此错误表示您的环境不包含用于导出软件包org.eclipse.jetty.http.ssl的捆绑软件。由于软件包导入中没有版本信息,因此表明您的软件包的构建路径中也没有适当捆绑的版本(如果您这样做了,那么maven-bundle-plugin会找到一个版本并将其添加到您的导入)。

org.eclipse.jetty.http.ssl的此要求对您的捆绑软件来说是新的,或者以前由Fuse 6.2.1中的另一个捆绑软件提供,而在Fuse 6.3.0中不再存在。

无论如何,您都需要从修复捆绑包开始,方法是将Jetty的相关部分放在构建路径上,以便在导入时获得版本范围,或者删除泄漏到捆绑包中的新依赖项。然后,如果需要,您可以简单地部署捆绑软件所需的其他捆绑软件。

相关问题