是否可以让Applet使用本地jar?
我的Applet应用程序需要一些依赖项(价值66Mb的jar)。用户可以先安装jar,但是如何从applet中使用它们?
我可以将它们保存到默认位置c:/ myApp和/ usr / local / myApp
我尝试加载它们:
ClassLoader loader = URLClassLoader.newInstance(
new URL[]{new URL("file://" + path + "/xuggle-xuggler-5.2.jar")},
JNLP2Manager.getCurrentManager().getAppletClassLoader()
);
Thread.currentThread().setContextClassLoader(loader);
但jar不会自动添加到类路径中,我的意思是,我仍然需要单独加载每个类。
执行以下工作:
Class cls = loader.loadClass("com.xuggle.xuggler.video.ConverterFactory");
String testString = ConverterFactory.XUGGLER_ARGB_32;
但是我可以将所有类添加到applet加载器吗?
P.S。我知道我不应该使用Applet,但Applet仍然是最适合我的应用程序。
答案 0 :(得分:2)
不,至少对于未签名的applet是不可能的。 applet类路径是相对于其代码库定义的,通常是从applet下载的代码库。
以下是可能的解决方法
UrlClassLoader
)。 file
的输入标记的常规HTML表单来实现。使用AJAX可以隐藏用户的大量细节。