从Javascript调用jar中定义的Java类

时间:2019-04-08 08:37:07

标签: javascript java loadrunner

我的jar文件带有以下代码:

MyClass.jar

package com.sample;
public class MyClass {
    public static String getName() {
        return "Hii";
    }
}

我想在javascript中加载MyClass.jar并调用getName方法。
我尝试了以下代码

var cl = new Packages.java.net.URLClassLoader(
        [new Packages.java.net.URL('C:\\tmp\\MyClass.jar')]);
var aClass = Packages.java.lang.Class.forName("MyClass", true, cl);
var aStaticMethod = aClass.getMethod("getName", []);
var greeting = aStaticMethod.invoke(null, []);  

运行上述代码时,出现错误“未定义包”。

实际上,我正在Loadrunner Web Http / html协议脚本中运行上述Javascript代码。

我将jar文件保存在Loadrunner bin文件夹中,并尝试下面的代码。

function myfun() {
    var myvariable = Packages.com.sample;    
    var foo = new myvariable.MyClass();    
    return foo.getName();
}

我收到相同的错误“包装未定义”

请提出建议。

1 个答案:

答案 0 :(得分:0)

lr.loadLibrary()函数将用于将外部js导入脚本,但不确定是否也会导入jar文件。只需尝试一下,如果不尝试通过HTTP协议使用JAVA,这肯定会满足您的要求。