Missing plugins found while loading a transformation on Kettle

回眸只為那壹抹淺笑 提交于 2019-12-17 21:36:52

问题


I receive this error whenever I run my extraction from the command line, not in the Spoon UI.

Missing plugins found while loading a transformation

Step : MongoDbInput

        at org.pentaho.di.job.entries.trans.JobEntryTrans.getTransMeta(JobEntryTrans.java:1200)
        at org.pentaho.di.job.entries.trans.JobEntryTrans.execute(JobEntryTrans.java:643)
        at org.pentaho.di.job.Job.execute(Job.java:714)
        at org.pentaho.di.job.Job.execute(Job.java:856)
        ... 4 more
Caused by: org.pentaho.di.core.exception.KettleMissingPluginsException:
Missing plugins found while loading a transformation

My maven dependencies is as follows.

    <dependency>
      <groupId>rhino</groupId>
      <artifactId>js</artifactId>
    </dependency>
    <dependency>
      <groupId>pentaho-kettle</groupId>
      <artifactId>kettle-core</artifactId>
    </dependency>
    <dependency>
      <groupId>pentaho-kettle</groupId>
      <artifactId>kettle-engine</artifactId>
    </dependency>
    <dependency>
      <groupId>pentaho-library</groupId>
      <artifactId>libbase</artifactId>
      <version>5.1.0.0-752</version>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pentaho-big-data-plugin</artifactId>
      <version>5.1.0.0-751</version>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pentaho-mongodb-plugin</artifactId>
      <version>5.1.0.0-751</version>
    </dependency>
    <dependency>
      <groupId>org.mongodb</groupId>
      <artifactId>mongo-java-driver</artifactId>
      <version>2.11.1</version>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>metastore</artifactId>
      <version>5.1.0.0-751</version>
    </dependency>
    <dependency>
      <groupId>pentaho-library</groupId>
      <artifactId>libformula</artifactId>
    </dependency>
    <dependency>
      <groupId>simple-jndi</groupId>
      <artifactId>simple-jndi</artifactId>
    </dependency>
    <dependency>
      <groupId>org.drools</groupId>
      <artifactId>drools-compiler</artifactId>
    </dependency>
    <dependency>
      <groupId>org.drools</groupId>
      <artifactId>drools-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.postgresql</groupId>
      <artifactId>postgresql</artifactId>
    </dependency>
  </dependencies>

Am I missing anything?


回答1:


before init kettleEnviroment

KettleEnviroment.init();

you should add this code like

StepPluginType.getInstance().getPluginFolders().add(new PluginFolder("your plugins path", false, true));



回答2:


Having the MongoDB plugin as a dependency only works for compilation. When PDI runs it looks for a plugins/ folder under the current directory, and will load all plugins from there. You can override the location by setting the KETTLE_PLUGIN_BASE_FOLDERS system property. Either way, you'll want a plugins/ folder and to unzip the MongoDB plugin package (not the JAR) into plugins/. That should put a folder called pentaho-mongodb-plugin under plugins/, and if PDI is pointing at that plugins/ folder, it should load and use the plugin successfully at runtime.




回答3:


You must run Kitchen from Kettle installation directory.
As written here: http://wiki.pentaho.com/display/EAI/Kitchen+User+Documentation

Please make sure that you are positioned in the Kettle directory before running the samples below. If you put these scripts into a batch file or shell script, simply do a change directory to the installation directory




回答4:


Just edit spoon.sh and add

OPT="$OPT -DKETTLE_PLUGIN_BASE_FOLDERS=$BASEDIR/plugins"

right after the line where the OPT variable is set.

This is actually the solution from mattyb. Editing spoon.sh will fix the problem for good.

Another solution is to create a symbolic link in your ${KETTLE_HOME}/.kettle directory which points to the plugins folder.



来源:https://stackoverflow.com/questions/28472517/missing-plugins-found-while-loading-a-transformation-on-kettle

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