问题
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