【问题标题】:Call java class defined in jar from Javascript从 Javascript 调用 jar 中定义的 java 类
【发布时间】:2019-04-08 08:37:07
【问题描述】:

我有以下代码的 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();
}

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

请推荐。

【问题讨论】:

  • 这不是引用的正确副本...如果删除“包”会发生什么情况。在你的代码中?
  • @SirFartALot 如果我删除 Packages..它是说 java 没有定义..
  • @Ghostcat 我检查了建议的解决方案...我需要在 loadrunner 中实现解决方案...无法理解如何将 jar 放入 loadrunner 类路径中
  • 那么请在此处添加更多详细信息,包括您研究过 DUP 问题,并说明它对您不起作用的原因。

标签: javascript java loadrunner


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 2013-07-30
    • 1970-01-01
    相关资源
    最近更新 更多