在pentaho数据集成中使用Java8功能(较新的janino版本)

在pentaho数据集成中使用Java8功能(较新的janino版本),pentaho,kettle,pentaho-spoon,pentaho-data-integration,janino,Pentaho,Kettle,Pentaho Spoon,Pentaho Data Integration,Janino,Pentaho Data Integration 8.0.x使用2010年发布的Janino 2.5.16编译用户定义的Java类步骤。pentaho中有一个更新版本,它将在pentaho v8.2.0 GA中引入新的java 8相关功能。但是没有关于何时发布的信息 有没有其他方法可以使用更新的janino版本(janino-3.0.8.jar)和现有的pentaho for UDJC?我试图在库中复制更新的jar,还添加了commons-compiler-3.0.8.jar以实现依赖性。现在,

Pentaho Data Integration 8.0.x使用2010年发布的Janino 2.5.16编译用户定义的Java类步骤。pentaho中有一个更新版本,它将在pentaho v8.2.0 GA中引入新的java 8相关功能。但是没有关于何时发布的信息

有没有其他方法可以使用更新的janino版本(janino-3.0.8.jar)和现有的pentaho for UDJC?我试图在库中复制更新的jar,还添加了commons-compiler-3.0.8.jar以实现依赖性。现在,当我打开勺子时,我得到以下错误:


请就如何实现这一目标提出建议。我明白,仅仅更换罐子可能不够,但如果可以做其他事情,我只是想知道。

这并不容易。即使现在,由于您得到了ClassNotFound,janino的公共api也发生了变化。有些类被删除,有些类被更改。更新它的实际需要是什么

如果您需要非常复杂的业务逻辑,那么创建自定义插件。有文档和教程,您可以查看当前内置插件的源代码(源代码可在github上获得)

janino有什么重要的新版本,而旧版本没有(除了java8支持之外)?签出Catter引擎,查看UserDefinedClass步骤的源代码,更改代码以支持新的janino版本,测试并构建自己的pdi Catter,并尝试向存储库的维护人员发送推送请求

所有这些都非常复杂,这个插件内置在引擎中,您必须自己构建。自己构建意味着,你必须自己支持它。这不是小事,项目非常庞大,现在甚至更大,并且还在不断发展,我花了几天时间制作了我的第一个自定义构建(版本4,在常春藤中),只是为了更好地了解和调试复杂的案例,它从未在生产中使用过

存储库的维护人员必须有充分的理由将您的更改包括到流中,它必须经过良好的测试,而且这是一个漫长的过程,很可能不值得。我可能在发行说明中看到,自2010年以来发生了很多变化,新版本的java已经具备了在运行时编译的能力

我的建议是让你自己的插件