我有包含以下代码的 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, []);
当我运行上面的代码时,出现错误“Packages is not defined”。
实际上我在 Loadrunner Web Http/html 协议(protocol)脚本中运行上面的 Javascript 代码。
我将 jar 文件保存在 Loadrunner bin 文件夹中并尝试了以下代码。
function myfun() {
var myvariable = Packages.com.sample;
var foo = new myvariable.MyClass();
return foo.getName();
}
我遇到同样的错误“未定义包”
请提出建议。
最佳答案
lr.loadLibrary()
函数将用于将外部 js 导入脚本,但不确定它是否也会导入 jar 文件。试一试,如果不尝试使用基于 HTTP 协议(protocol)的 JAVA - 这肯定会帮助您满足您的要求。
关于javascript - 从 Javascript 调用 jar 中定义的 java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55569278/