由于未解决的依赖关系,无法启动捆绑 pdi-dataservice-server-plugin 的蓝图容器

Posted

技术标签:

【中文标题】由于未解决的依赖关系,无法启动捆绑 pdi-dataservice-server-plugin 的蓝图容器【英文标题】:Unable to start blueprint container for bundle pdi-dataservice-server-plugin due to unresolved dependencies 【发布时间】:2017-04-18 07:00:33 【问题描述】:

我正在使用 Windows 批处理文件来调用 Pentaho 数据集成作业,间歇性地,该作业被无限期挂起。

Pentaho 日志中的错误信息如下:

06:43:37,951 ERROR [BlueprintContainerImpl] Unable to start blueprint container for bundle pdi-dataservice-server-plugin due to unresolved dependencies [(objectClass=org.pentaho.metaverse.api.ILineageClient)]
java.util.concurrent.TimeoutException
    at org.apache.aries.blueprint.container.BlueprintContainerImpl$1.run(BlueprintContainerImpl.java:336)
    at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

我能够在类似的行中找到一些问题,这表明这是一个缓存问题。请帮忙!

【问题讨论】:

我认为这个问题与batch-file 标签没有任何关系。我建议你删除这样的标签... @Aacini - 我已将其删除,感谢您的建议。 【参考方案1】:

您可能需要将 Kettle 工具的版本升级到 8.0.0

您可以在这里找到问题: https://jira.pentaho.com/browse/PDI-16368

【讨论】:

【参考方案2】:
unresolved dependencies [(objectClass=org.pentaho.metaverse.api.ILineageClient)]

这意味着蓝图文件强制引用具有接口org.pentaho.metaverse.api.ILineageClient 的服务。该服务似乎没有启动,因此蓝图在超时后放弃。

您现在需要找到提供此服务的捆绑包并确定它无法正确启动的原因。

【讨论】:

@christain,我找到了一个临时解决方案,即清除 Karaf 缓存,然后它可以更好地工作。这是否暗示了真正的根本原因?【参考方案3】:

当你的bundle启动时,它找不到这个接口org.pentaho.metaverse.api.ILineageClient。所以它保持在宽限期状态。

因为清除缓存后才有效,建议你:

1: 对暴露此界面的捆绑包进行故障排除:使用 karaf 命令行中的 diag 命令找出它无法正确启动的原因。您还可以使用 headers 命令来检查此接口是否已导出

2:您可以像这样将此引用作为可选内容放在消费者捆绑包中:

<reference id="give an id" interface="org.pentaho.metaverse.api.ILineageClient" availability="optional"> </reference>

3:验证捆绑包的启动级别:在 features.xml 中安装捆绑包时,您可以使用 start-level="..." 处理此问题。

【讨论】:

【参考方案4】:

我通过使用“呼叫”解决了同样的问题。 例如:

cd "C:\Program Files (x86)\Kettle"
call kitchen.bat -file:"C:\Elekta Projects\CE_Activities\MAIN.kjb" -level:Minimal

【讨论】:

【参考方案5】:

我添加了调用语句,也删除了:/pentaho-server/tomcat/temp的内容

【讨论】:

以上是关于由于未解决的依赖关系,无法启动捆绑 pdi-dataservice-server-plugin 的蓝图容器的主要内容,如果未能解决你的问题,请参考以下文章

由于未满足的依赖关系,无法通过 MIPS 安装 rrdtool-1.7.2

由于未解决的依赖关系,grails install plugin blazeds 失败

无法运行具有Maven依赖关系的OSGi捆绑软件

无法解决依赖关系。?

基于 Eclipse 功能的启动无法解决依赖关系

使用纱线工作区将 ui 库与汇总捆绑时导入未定义