我在jar文件中有一个API,但是如何在JavaScript中使用jar中的类?当我尝试导入它们时,
conf = Packages.abcapi.Config;
var cfg = new conf.Config();
没用 这将不会在浏览器或Internet中使用。
更新:
我正在使用Java ScriptEngine将我们的API扩展到所有JSR-223脚本语言。在Java应用程序内部,我读取了一个JavaScript文件,然后使用ScriptEngine执行该文件。我需要JavaScript文件使用jar文件中的API中的类。我尝试在运行ScriptEngine时在类路径中设置jar,但是使用上述代码仍然找不到类。但是,这在Jython中可以正常工作,因为在Jython中,在类路径中设置了jar之后,使用jar文件中的类没有问题。
我正在读取JavaScript文件,然后使用Java ScriptEngine执行它们。在运行将要执行JavaScript的Java代码时,将jar添加到您的类路径中,
java -cp ./;C:\Location\Of\The\Jar\File\abc.jar MainClass
然后,在JavaScript中,您可以从该jar中获取程序包,并将其设置为变量。然后,当您要使用该包中的Class时,只需在class名称前加上变量,然后加上。像这样,
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的链接,它可能对某人有所帮助http://mozilla-firefox-extension-dev.blogspot.com/2004/11/calling-java-code-in-custom-jars -from.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句