Classe Applet chargeur ne peut pas trouver une classe de l'applet en pot

J'ai commencé à poser cette question et ensuite trouvé la réponse avant de l'envoyer. J'ai décidé de poster la question de toute façon, de sorte que d'autres personnes qui rencontrent le même problème va être en mesure d'apprendre de mes erreurs.


Je vais avoir un problème avec un applet (un JApplet en fait) impossible d'instancier une autre classe qui est inclus dans le même pot que l'applet. L'exception que je vois sur la console Java est:

Exception in thread "fil de l'applet-com.de l'entreprise.programme.cm.ihm.MediatorApplet-1" de java.lang.NoClassDefFoundError: com/entreprise/programme/cm/cs/JDataStore 
au com.de l'entreprise.programme.cm.ihm.MediatorApplet.getMediator(MediatorApplet.java:63) 
au com.de l'entreprise.programme.cm.ihm.MediatorApplet.init(MediatorApplet.java:49) 
au coucher du soleil.plugin2.l'applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
à java.lang.Fil de discussion.run(Unknown Source) 
Causés par: java.lang.ClassNotFoundException: com.de l'entreprise.programme.cm.cs.JDataStore 
au coucher du soleil.plugin2.l'applet.Applet2ClassLoader.findClass(Source Inconnue) 
à java.lang.Chargeur de classe.loadClass(Source Inconnue) 
à java.lang.Chargeur de classe.loadClass(Source Inconnue) 
à java.lang.Chargeur de classe.loadClassInternal(Source Inconnue) 
... 4 plus 
Causés par: java.io.IOException: ouvrir la connexion HTTP failed:http://localhost:8080/TransportHMI/pages/com/company/program/cm/cs/JDataStore.class 
au coucher du soleil.plugin2.l'applet.Applet2ClassLoader.getBytes(Source Inconnue) 
au coucher du soleil.plugin2.l'applet.Applet2ClassLoader.l'accès$000(Source Inconnue) 
au coucher du soleil.plugin2.l'applet.Applet2ClassLoader$1.run(Unknown Source) 
à java.de sécurité.AccessController.doPrivileged(Native method) 
... 8 plus 

Je sais que le JDataStore classe est incluse dans le bocal. Si je liste le contenu de l'aide jar tvf CM_Library.jar je peux voir qu'il est là, sous un emballage approprié. Cependant, l'enchaînement des exceptions ci-dessus m'amènent à penser que le chargeur de classe n'est pas la recherche dans les archives JDataStore, et est à la recherche pour le JDataStore.class fichier sur le serveur web à la place. Pourquoi est-ce? Le chargeur de classes sait pour charger le MediatorApplet classe à partir du pot, pourquoi ne pas vérifier pour JDataStore ainsi? Dans le cas où je n'ai pas spécifié correctement les paramètres sur la balise applet, je vais l'inclure ici:

<applet id="mediator-applet"
        width="0"
        height="0"
        codebase="./"
        archive="CM_Library.jar"
        code="com.company.program.cm.hmi.MediatorApplet">
</applet>

OriginalL'auteur A. Levy | 2009-05-16