Janino 编译异常:UDJC 步骤
Posted
技术标签:
【中文标题】Janino 编译异常:UDJC 步骤【英文标题】:Janino Compile Exception : UDJC step 【发布时间】:2015-12-10 20:34:06 【问题描述】:提前感谢您的支持。
在 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】: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();
【讨论】:
抱歉回复晚了。是的,我按照你说的做了同样的事情,所有的错误都消失了。以上是关于Janino 编译异常:UDJC 步骤的主要内容,如果未能解决你的问题,请参考以下文章
使用 UDJC 在 Pentaho 中读取受密码保护的 PDF
72 java.lang.NoClassDefFoundError: org/codehaus/janino/InternalCompilerException
72 java.lang.NoClassDefFoundError: org/codehaus/janino/InternalCompilerException