是否有可能讓Applet使用本地jar?從已簽名的小程序中使用本地Jar
我的小應用程序應用程序需要有一些依賴項(價值66Mb的罐子)。用戶可以先安裝罐子,但是我怎樣才能從小程序中使用它們?
我可以讓他們保存到默認位置C:/對myApp和/ usr /本地/對myApp
我試着加載他們:
ClassLoader loader = URLClassLoader.newInstance(
new URL[]{new URL("file://" + path + "/xuggle-xuggler-5.2.jar")},
JNLP2Manager.getCurrentManager().getAppletClassLoader()
);
Thread.currentThread().setContextClassLoader(loader);
但罐子不會被自動添加到類路徑,我的意思是,我仍然需要單獨加載每個班級。
做了以下工作:
Class cls = loader.loadClass("com.xuggle.xuggler.video.ConverterFactory");
String testString = ConverterFactory.XUGGLER_ARGB_32;
但我已經加入到小程序載入的所有類?
P.S.我知道我不應該使用Applet,但Applet仍然適合我的這種應用。
+1對於一個有趣的問題,並提前提到你想堅持一個小程序。關於應用程序的是什麼?這使得一個applet非常適合? (看來你將不得不跳過一些環節才能使它工作 - 請參閱AlexR的要點1.)您是否知道使用[Java Web Start]部署的applet(http://stackoverflow.com/tags/java-web-開始/信息)可以下載Jars懶惰(只有當他們需要時)? – 2012-03-20 15:49:42
這對於一個非常嚴格的客戶羣來說是非常重要的,所以每個人都應該準備立即開始,因爲它是一個實時應用程序。我知道(1),但用戶在實際使用應用程序之前將有時間(安裝)。所以,讓Applet如此合適(我實際上開始使用JWS)的一點是,應用程序有多個Tabs,每個Tabs都是某種上下文。讓用戶在Web應用程序和本地應用程序之間切換,以便它可以選擇當前想要的applet的上下文,這非常令人困惑。 – 2012-03-20 17:18:30