代码之家  ›  专栏  ›  技术社区  ›  Henry H

如何将两个applet jar加载到非applet gui程序?

  •  1
  • Henry H  · 技术社区  · 15 年前

    我正在尝试找到一种方法,将jar(testapplet.jar和shared.jar)正确加载到Swing GUI中。我已经成功加载了testapplet.jar,但它给出了noclasDefoundError异常,因为我还没有找到如何加载shared.jar。

    这是第页的HTML代码:

    <applet id="testapplet" class="topspacer" codebase="http://codebase.url.com/applets/" code="TestApplet" archive="TestApplet.jar,/Shared/Shared.jar" width="645" height="465">
    <param name="initmessage" value="Initializing..." />
    <!-- ... Other parameters ... -->
    

    这就是我如何启动testapplet:

    ClassLoader clientClassLoader = new URLClassLoader(new URL[]{new URL("http://codebase.url.com/applets/TestApplet.jar")});
    Applet loader = (Applet) clientClassLoader.loadClass("TestApplet").asSubclass(Applet.class).newInstance();
    loader.init();
    loader.start();
    

    因此,基本上,我如何正确地加载shared.jar以供testapplet使用? 问一下你是否需要更多的细节或者澄清。

    编辑:错误是: Exception in thread "main" java.lang.NoClassDefFoundError: com/shared/singleclient/SingleGame

    1 回复  |  直到 15 年前
        1
  •  2
  •   Laurence Gonsalves    15 年前

    是否尝试将shared.jar添加到 URLClassLoader ?像这样:

    ClassLoader clientClassLoader = new URLClassLoader(new URL[]{
        new URL("http://codebase.url.com/applets/TestApplet.jar"),
        new URL("http://codebase.url.com/applets/Shared.jar")
    });
    

    或者,您可以确保父级可以找到shared.jar ClassLoader 尽管包括在 URL激光阅读器 更接近小程序的正常环境。