JavaScript可以使用jar文件中的类(非互联网使用)

JavaScript可以使用jar文件中的类(非互联网使用),javascript,jar,scriptengine,Javascript,Jar,Scriptengine,我在jar文件中有一个API,但是如何在JavaScript中使用jar中的类呢?当我尝试导入它们时 conf = Packages.abcapi.Config; var cfg = new conf.Config(); 它不起作用。这不会在浏览器或internet上使用 更新: 我正在使用JavaScriptEngine将我们的API扩展到所有JSR-223脚本语言。在Java应用程序中,我读取一个JavaScript文件,然后使用ScriptEngine执行该文件。我需要J

我在jar文件中有一个API,但是如何在JavaScript中使用jar中的类呢?当我尝试导入它们时

    conf = Packages.abcapi.Config;
    var cfg = new conf.Config();
它不起作用。这不会在浏览器或internet上使用

更新:


我正在使用JavaScriptEngine将我们的API扩展到所有JSR-223脚本语言。在Java应用程序中,我读取一个JavaScript文件,然后使用ScriptEngine执行该文件。我需要JavaScript文件使用jar文件中API中的类。在运行ScriptEngine时,我尝试在类路径中设置jar,但它仍然找不到使用上述代码的类。不过,这在Jython中运行良好,因为在类路径中设置jar后,Jython在使用jar文件中的类时没有问题。

我正在读取JavaScript文件,然后使用Java ScriptEngine执行它们。运行Java代码时,将jar添加到类路径中,Java代码将执行如下JavaScript

    java -cp ./;C:\Location\Of\The\Jar\File\abc.jar MainClass
    myvariable = Packages.abc.foo.pack.name;

    var foo = new myvariable.ClassFromTheJarFile("arg1","arg2");

    foo.doSomething();

    var fooSister = new myvariable.AnotherCLassFromTheJarFile("arg1");

    fooSister.doSomthingFromThisClass();
    myvariable = Packages.abc.foo.pack.name.ClassFromTheJarFile;
然后在JavaScript中,您可以从该jar中获取包,并将包设置为变量。然后,当您想要使用该包中的类时,只需在类名前面加上变量,然后加上前缀。像这样,

    java -cp ./;C:\Location\Of\The\Jar\File\abc.jar MainClass
    myvariable = Packages.abc.foo.pack.name;

    var foo = new myvariable.ClassFromTheJarFile("arg1","arg2");

    foo.doSomething();

    var fooSister = new myvariable.AnotherCLassFromTheJarFile("arg1");

    fooSister.doSomthingFromThisClass();
    myvariable = Packages.abc.foo.pack.name.ClassFromTheJarFile;
我犯的错误是试图像这样直接从包中导入类

    java -cp ./;C:\Location\Of\The\Jar\File\abc.jar MainClass
    myvariable = Packages.abc.foo.pack.name;

    var foo = new myvariable.ClassFromTheJarFile("arg1","arg2");

    foo.doSomething();

    var fooSister = new myvariable.AnotherCLassFromTheJarFile("arg1");

    fooSister.doSomthingFromThisClass();
    myvariable = Packages.abc.foo.pack.name.ClassFromTheJarFile;
因此,只导入包而不导入类。为了澄清,您不需要使用Java
*


这不是在浏览器或internet上使用的。下面是另一个使用URL位置jar的链接,它可能有助于某人

define
import
了解您尝试的内容,但define
不起作用
那么您到底在哪里运行javascript?Node.js?通过犀牛?您需要具体说明。@Gimby请查看上面的更新,尽管问题现在已经得到了回答。您能澄清一下您是如何在javascript环境中定义“包”的吗?我忘了我很抱歉,但它可能是一个关键字