Janino编译异常:UDJC步骤

时间:2015-12-10 20:34:06

标签: pentaho etl

提前感谢您的支持。

在UDJC步骤中,以下代码为我提供了Janino异常,

在processRow方法

Hashtable hastable=getConfigData() // This method return Hashtable 

Set set=hashtable.get("ERROR_2001").keySet(); ---> //hashtable.get("ERROR_2001"), This returns another hashtable

例外: 名为“keySet”的方法未在任何封闭类或任何超类型中声明,也未通过静态导入声明

在论坛中,我找不到解决方案来解决这个问题。我使用的是JDK 1.7和PDI 5.1(最新下载)

1 个答案:

答案 0 :(得分:2)

AFAIK,您不能在Janino中使用泛型,因此Janino无法确定hashtable.get("ERROR_2001")方法返回的对象的确切类,因此它假定返回Object,其中没有{{ 1}}方法定义。 尝试将keySet()的结果投射到您的hashtable.get("ERROR_2001")集合中包含的值类:

hashtable