Running PDI Kettle on Java - Mongodb Step Missing Plugins

China☆狼群 提交于 2020-01-05 14:11:30

问题


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)

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)

I've tried to pass an argument:

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

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

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


回答1:


See Missing plugins found while loading a transformation on Kettle

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"

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

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

jar tf ${plugin_folder}/mongodb.jar

Hope it helps...



来源:https://stackoverflow.com/questions/32034906/running-pdi-kettle-on-java-mongodb-step-missing-plugins

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!