在 Java 上运行 PDI Kettle - Mongodb 步骤缺少插件
Posted
技术标签:
【中文标题】在 Java 上运行 PDI Kettle - Mongodb 步骤缺少插件【英文标题】:Running PDI Kettle on Java - Mongodb Step Missing Plugins 【发布时间】:2015-08-16 12:09:04 【问题描述】:我正在尝试运行一个转换,其中包括来自 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 文件,它运行良好,没有任何问题。
谁能帮我看看我做错了哪一部分? 谢谢
【问题讨论】:
【参考方案1】:见Missing plugins found while loading a transformation on Kettle
如果这是您所做的,它应该可以工作。你确定你正确安装了插件吗?您设置了 OPT 变量
export OPT="-verbose:class"
当您运行spoon.sh 时,这将显示所有已加载的类。您可以验证它是否从插件中找到类。
您可以使用 jar 实用程序在插件中找到类,例如:
jar tf $plugin_folder/mongodb.jar
希望对你有帮助...
【讨论】:
以上是关于在 Java 上运行 PDI Kettle - Mongodb 步骤缺少插件的主要内容,如果未能解决你的问题,请参考以下文章