我使用mongoDBOutput创建了一个转换,该转换是从Java应用程序运行的。我编辑了tank.properties以添加KETTLE_PLUGIN_BASE_FOLDERS,如此处Java Pentaho Exception MongoDB所述。这在我的Windows机器上工作正常。但是,在Linux环境中运行它会导致问题,这是我得到的错误:

org.pentaho.di.core.exception.KettleMissingPluginsException:
Missing plugins found while loading a transformation

    Step : MongoDbOutput
    Step : MongoDbOutput
    Step : MongoDbOutput
    Step : MongoDbOutput
    Step : MongoDbOutput
        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)


但是,我已经编辑了tank.properties,将KETTLE_PLUGIN_BASE_FOLDERS指向Linux环境中的plugins目录。提前致谢

最佳答案

通过按here所述初始化水壶环境之前,我终于可以通过在Java应用程序中设置插件文件夹来解决此问题。

StepPluginType.getInstance().getPluginFolders().add(new PluginFolder(pathToPentahoPlugins, false, true));
KettleEnvironment.init();
...

10-08 13:00