JavaScript可以使用jar文件中的类(非Internet使用)

Kyl*_*ine 2 javascript jar scriptengine

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

    conf = Packages.abcapi.Config;
    var cfg = new conf.Config();
Run Code Online (Sandbox Code Playgroud)

它不起作用.这不会在浏览器或互联网上使用.

更新:

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

Kyl*_*ine 5

我正在阅读JavaScript文件,然后使用Java ScriptEngine执行它们.当您运行要执行JavaScript的Java代码时,将jar添加到类路径中,

    java -cp ./;C:\Location\Of\The\Jar\File\abc.jar MainClass
Run Code Online (Sandbox Code Playgroud)

然后在JavaScript中,您可以从该jar中获取包并将包设置为变量.然后,当您想要使用该包中的Class时,只需在类名前加上变量,然后使用a.像这样,

    myvariable = Packages.abc.foo.pack.name;

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

    foo.doSomething();

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

    fooSister.doSomthingFromThisClass();
Run Code Online (Sandbox Code Playgroud)

我做错了是尝试直接从包中导入类,如下所示,

    myvariable = Packages.abc.foo.pack.name.ClassFromTheJarFile;
Run Code Online (Sandbox Code Playgroud)

所以只导入包而不是类.为了澄清您不需要使用Java *.

这不是在浏览器中或在互联网上使用.这是另一个使用来自URL位置的jar的链接,它可能对某人有帮助http://mozilla-firefox-extension-dev.blogspot.com/2004/11/calling-java-code-in-custom-jars -from.html