[英]Can JavaScript use classes from a jar file (Non Internet Use)
我在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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.