2015-12-10 49 views
0

预先感谢您的支持。Janino编译异常:UDJC步骤

在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和5.1的PDI(最新下载)

回答

2

AFAIK,您不能使用泛型JANINO,所以JANINO无法确定确切类由hashtable.get("ERROR_2001")方法返回的对象,所以它假定返回Object,其中没有定义keySet()方法。 尝试投的hashtable.get("ERROR_2001")结果到值类,包含在您的收藏hashtable

Hashtable errorEntry = (Hashtable) hashtable.get("ERROR_2001"); 
Set set = errorEntry.keySet(); 
+0

对不起,我迟到的反应。是的,我所做的和你说的一样,所有的错误都一样。 – Hari