【问题标题】:Running PDI Kettle on Java - Mongodb Step Missing Plugins在 Java 上运行 PDI Kettle - Mongodb 步骤缺少插件
【发布时间】:2025-12-26 13:35:12
【问题描述】:

我正在尝试运行一个转换,其中包括来自 java 应用程序的 mongodb 输入步骤,但始终导致此消息错误:

org.pentaho.di.core.exception.KettleMissingPluginsException: 
Missing plugins found while loading a transformation

Step : MongoDbInput

at org.pentaho.di.trans.TransMeta.loadXML(TransMeta.java:2931)
at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2813)
at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2774)
at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2759)
at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2744)
at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2718)
at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2690)
at com.skripsi.dw.streamingtwitter.ETLtest.main(ETLtest.java:31)

我从这个帖子中找到了一些相关的答案: Angry org.pentaho.di.core.exception.KettleMissingPluginsException in Step : JmsOutput Why?

这是将插件移动到应用程序文件夹的根路径,我做了,但仍然导致不同消息的错误:

Exception in thread "main" java.lang.AbstractMethodError
at org.pentaho.di.core.plugins.BasePluginType.handlePluginAnnotation(BasePluginType.java:599)
at org.pentaho.di.core.plugins.BasePluginType.registerPluginJars(BasePluginType.java:558)
at org.pentaho.di.core.plugins.BasePluginType.searchPlugins(BasePluginType.java:117)
at org.pentaho.di.core.plugins.PluginRegistry.registerType(PluginRegistry.java:517)
at org.pentaho.di.core.plugins.PluginRegistry.init(PluginRegistry.java:489)
at org.pentaho.di.core.KettleClientEnvironment.init(KettleClientEnvironment.java:69)
at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:89)
at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:65)

我试图传递一个参数:

-DKETTLE_PLUGIN_BASE_FOLDERS=/home/razza/PentahoCE/pdi-ce-5.1.0/data-integration/plugins

正如在此线程上建议的那样: Pentaho MongoDBInput Java integration 但还是没有解决我的问题

为了以防万一,我检查了通过 kitchen.sh 命令运行我的 kjb 文件,它运行良好,没有任何问题。

谁能帮我看看我做错了哪一部分? 谢谢

【问题讨论】:

    标签: java mongodb pentaho kettle pdi


    【解决方案1】:

    Missing plugins found while loading a transformation on Kettle

    如果这是您所做的,它应该可以工作。你确定你正确安装了插件吗?您设置了 OPT 变量

    export OPT="-verbose:class"
    

    当您运行spoon.sh 时,这将显示所有已加载的类。您可以验证它是否从插件中找到类。

    您可以使用 jar 实用程序在插件中找到类,例如:

    jar tf ${plugin_folder}/mongodb.jar
    

    希望对你有帮助...

    【讨论】: