我想从修改后的javascript值执行一个自定义jar文件。我的罐子名称是JsonParsing.jar
,我已将它放在lib文件夹中。当我试图在罐子执行方法其给我的错误:从pentaho执行外部jar文件
ReferenceError: "JsonParsing" is not defined.
代码段:
var package1 = JsonParsing.parseJson.ParseJSON;
xyz=package1.processJson(data);
我想从修改后的javascript值执行一个自定义jar文件。我的罐子名称是JsonParsing.jar
,我已将它放在lib文件夹中。当我试图在罐子执行方法其给我的错误:从pentaho执行外部jar文件
ReferenceError: "JsonParsing" is not defined.
代码段:
var package1 = JsonParsing.parseJson.ParseJSON;
xyz=package1.processJson(data);
我已经解决了这个问题。我在创建实例时错过了程序包。由于我在课堂上有一个静态方法,我必须按照以下方式调用它。 (parseJson是我的包名,ParseJSON是我的类名)。这里包是犀牛
var call = Packages.parseJson.ParseJSON;
xyz=call.processJson(data);
提供的默认类,如果它是一个非静态的方法,我在下面的方式来创建对象
var call = new Pakages.parseJson.ParseJSON();
xyz=call.processJson(data);
JavaScript的水壶采用的是犀牛。犀牛给JavaScript访问Java类,但它不完全透明。
查看Scripting Java上的Rhino文档。
感谢您的答复。我试着用“importPackage”和“importClass”方法。但没有运气访问jar文件的内容。有没有其他方法? –
它应该工作,如果它是一个标准的罐子。你可以导入其他包如java.lang吗?你确定你的罐子在正确的位置吗?它必须位于Pentaho发行版的lib或libext文件夹中。你的其他选择是使用“用户定义的Java类”。这给你更多的灵活性,但它更多的工作。 –