Java调Kettle插件报找不到plugin missing

问题:java调用kettle出现Can't run transformation due to plugin missing

        在spoon启动的客户端中可以使用的组件运行没问题,但是在java集成的kettle环境下,出现上述的错误。

案例:以kettle调用kafka为案例,并集成在java定时调度中执行kettle配置的脚本文件。

1、配置kettle调用kafka插件流程

        使用spoon.bat启动的kellte客户端自带的kafka插件,可以正常完成消息的发送和接收,但是在java集成kettle调用配置好的脚本时候,报Can't run transformation due to plugin missing错误,不能正常使用。

2、问题原因:

        java集成调用kettle项目中缺少引用对应功能的插件,而kettle的客户端默认是有的,kettle客户端自身的插件主要存放在以下文件夹下:

        1、data-integration\plugins(Kettle核心相关的插件);

        2、data-integration\system\karaf\system\pentaho(大数据相关的插件)。

3、解决方案:

        找到原因后,我们需要按照指定文件夹路径,找到对应的plugin插件,配置指定的路径,在启动之前引用加载即可。例如如下:

// 加载出Kettle核心相关插件String kettleHome="D:\\soft\\kettle9.3\\data-integration";StepPluginType.getInstance().getPluginFolders()    .add(new PluginFolder(kettleHome,                            false, true)); //支持大数据相关的插件 //支持kafkaStepPluginType.getInstance().getPluginFolders()  .add(new PluginFolder(kettleHome+  "\\system\\karaf\\system\\pentaho\\pentaho-big-data-kettle-plugins-kafka",   false, true));

顺便把jar报引用到maven中:

<!--支持kafka插件-->        <dependency>            <groupId>pentaho</groupId>            <artifactId>pentaho-big-data-kettle-plugins-kafka</artifactId>            <version>9.3.0.0-428</version>        </dependency>        <dependency>            <groupId>pentaho</groupId>            <artifactId>pentaho-metastore-locator-api</artifactId>            <version>9.3.0.0-428</version>        </dependency>        <dependency>            <groupId>org.apache.kafka</groupId>            <artifactId>kafka-clients</artifactId>            <version>0.10.2.2</version>            <exclusions>                <exclusion>                    <groupId>*</groupId>                    <artifactId>*</artifactId>                </exclusion>            </exclusions>        </dependency

注意:版本最好与kettle客户端插件中的版本保持一致,可以去data-integration\lib或插件jar中去查看。一定要放在KettleEnvironment.init()之前,否则不会生效,追加之后完美解决问题。

同理,此方法可解决Mongodb等其他插件缺失错误。

更多优秀文章,请扫码关注个人微信公众号或搜索“程序猿小杨”添加。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值