将外部 Jar 添加到 Pentaho Kettle

Posted

技术标签:

【中文标题】将外部 Jar 添加到 Pentaho Kettle【英文标题】:Adding external Jar to Pentaho Kettle 【发布时间】:2014-06-09 18:44:45 【问题描述】:

我正在开发 Pentaho Kettle 5.0.1 版。在我的一个转换中,我正在使用 javascript 组件,我正在调用位于 JAR 中的方法,该方法已复制到数据集成的 lib 文件夹中,并且在我的本地一切正常。但是在我的开发环境中(我使用厨房运行它)由于服务器的限制,我无权将我的 Jar 文件复制到 lib 文件夹。有没有其他方法可以在运行时提供我的自定义 Jar 的路径,以便 Kettle Job/Transformation 可以在执行时使用它。除了 data-integration/lib 之外,Kettle 是否可以选择 Jar 位置?任何帮助将不胜感激。

【问题讨论】:

@codek :请看一下。感谢您的帮助。 @Brian.D.Myers : 请在这里帮忙 【参考方案1】:

查看 kitchen.sh(和 pan.sh)。在某些时候,脚本开始向类路径添加内容。您可以在该类路径中添加更多文件夹。

不过,您仍然需要编辑 kitchen.sh 文件的权限。如果您不能这样做,我建议您在单独的位置创建一份可以编写的 kitchen.sh 副本,并将 $BASEDIR 文件夹更改为实际的 PDI 安装,以便厨房可以位于其他位置。

【讨论】:

你能告诉我如何为厨房/锅添加类路径吗?或重定向到相关文档。 AFAIK,文档不多。但是阅读 .sh 文件,您可以在第 15-25 行找到类路径定义。这很简单。【参考方案2】:

如果您有权限,您可以将您的 jar 放在另一个目录中,然后在您在 data-integration\launcher 中找到的 launcher.properties 中指定此目录后。 例如:如果您将 jar 放在此目录中:/export/home。 在 launcher.properties 中:您将添加此路径并准确地添加 library=../test:../lib:../libswt:../export/home

【讨论】:

以上是关于将外部 Jar 添加到 Pentaho Kettle的主要内容,如果未能解决你的问题,请参考以下文章

Pentaho 数据集成用户定义的 Java 类

将gradle中的外部jar添加到Android项目

在 IntelliJ IDEA 中将外部库添加到工件 jar

项目添加外部jar依赖(本地仓库方式)

将外部JAR添加到Android AOSP构建时出错

微服务中怎么将一个外部的jar添加到项目中