我用java编写了一些自定义代码。我想在代码片段中将代码添加到Kettle中的User定义的java类中。有没有办法在UDJC的类和代码片段中添加自定义代码片段,以便它可以重用。 感谢。
答案 0 :(得分:0)
目前无法在运行时使用ui添加代码片段。如果您需要此功能,可以使用pentaho jira提交问题。或者就像解决方法一样,您可以编辑codeSnippits.xml(位于lib / kettle-ui - * .jar / org / pentaho / di / ui / trans / steps / userdefinedjavaclass /下)并将此文件重新压缩回jar。
答案 1 :(得分:0)
我不建议沿着这条路走下去。 原因很简单,PDI中的UDJC是Janino,是一个相当简化(但速度超快)的Java编译器,我引用用户定义Java类的Pentaho wiki:
不是100%Java ......首先要知道的是Janino和作为一个 结果这一步不需要完整的Java类...... 最明显的限制是没有泛型
如果我们能够动态添加代码段,会发生什么?可能不是好事。
但是,这非常有用,请考虑按照评论中的建议将代码包装在JAR
包中,将其包含在PDI环境的lib-ext
文件夹中并将其导入用户定义的Java课程随意。恕我直言,这是正确的方法。
我希望这有点帮助。