我目前有一个包含UserDefinedJavaClass步骤的转换。这在Spoon中运行正常。当我尝试使用Kettle jars将此转换作为web应用程序的一部分运行时,我得到了以下错误:
017/01/20 10:04:56 - Load questionnaires.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Error initializing UserDefinedJavaClass:
2017/01/20 10:04:56 - Load questionnaires.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : org.pentaho.di.core.exception.KettleException:
2017/01/20 10:04:56 - Load questionnaires.0 - null
2017/01/20 10:04:56 - Load questionnaires.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Error initializing step [Load questionnaires]
2017/01/20 10:04:57 - evalue-di-risk - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Step [Load questionnaires.0] failed to initialize!
因为这在 Spoon 中有效,所以我只能假设我缺少一个库。我已经包括水壶芯,水壶引擎(水壶版本6.1.0.1-196)和janino,我认为这就是我运行它所需要的一切。
编辑我已经从Spoon lib文件夹中取出了每个jar并将其转储到我的webapp中,这也不起作用。
再次编辑原来问题是有一个UserDefinedJavaClass和一个包含在转换过程中应该被替换的变量的表输入不起作用并导致上述错误。
你不能这样做,你必须使用 SDK API
并从您的应用程序编译。
http://wiki.pentaho.com/display/EAI/The PDI SDK