本文介绍了在Java上运行PDI Kettle-Mongodb步骤缺少插件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am trying to run a transformation which includes mongodb input step from a java app but always resulting error with this message:

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)

我从此线程中找到了一些相关的答案:生气的org.pentaho.di.core.exception.KettleMissingPluginsException在Step中:JmsOutput为什么?

I've found some related answer from this thread:Angry org.pentaho.di.core.exception.KettleMissingPluginsException in Step : JmsOutput Why?

将插件移动到应用程序文件夹的根路径,我这样做了,但仍然出现错误,并带有不同的消息:

which is to move the plugins to the root path of the applications folder, I did and but still resulting error with different message :

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集成但仍然不能解决我的问题

just as suggested on this thread:Pentaho MongoDBInput Java integrationbut still didn't solve my problem

我已经通过kitchen.sh命令检查了运行我的kjb文件,以防万一,并且运行正常,没有任何问题.

I have checked running my kjb files via kitchen.sh command just in case, and it was running fine without any problems.

有人可以帮我看看我做错了什么吗?谢谢

Can anyone help showing me which part did I do wrong?Thanks

推荐答案

请参见

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

If this is what you did it should work. Are you sure you installed the plugin correctly? You set the OPT variable

export OPT="-verbose:class"

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

When you run spoon.sh then this will show you all loaded classes. You could verify if it finds the classes from the plugin.

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

You can find the classes in the plugin using the jar utility, eg:

jar tf ${plugin_folder}/mongodb.jar

希望有帮助...

这篇关于在Java上运行PDI Kettle-Mongodb步骤缺少插件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 02:50