title: Java Applet Deployment, ClassNotFoundException (primary class)
body: <p>This is driving me up the wall.  I have checked and rechecked spelling and paths.  I have tried just about every combination of paths, including relative, absolute, and full http paths.  I continue to get the following error when trying to load a Java applet:</p>
  
  <pre><code>java.lang.ClassNotFoundException: AppletClient.class
      at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
      at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
      at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
  Exception: java.lang.ClassNotFoundException: AppletClient.class
  </code></pre>
  
  <p>The HTML used to load the applet:</p>
  
  <pre><code>&lt;applet width="100" height="100" archive="applet/myapplet.jar, applet/applet_dependency.jar" code="AppletClient.class"&gt;
      &lt;param value="blahblah" name="username"&gt;
      &lt;param value="false" name="codebase_lookup"&gt;
  &lt;/applet&gt;
  </code></pre>
  
  <p>The applet is in a relative directory, "applet", from the path of the current page.  I have unzipped the jar file and can see AppletClient.class.  Also, in the source of the project, it is spelled that way (casing and all).  I have tried with/without the parameters.  I have changed the names of the archive jars in the applet include tag just to see if I get a different error for bad file names (same error).  </p>
  
  <p>I have manually done GETs on the jars to make sure the server is responding to the requests (it is).  </p>
  
  <p>I have tried with and without the codebase tag, with all different varieties of paths (start getting bad "magic number" errors on those).</p>
  
  <p>I know that this error sometimes pops up when a dependency fails to load, so it can be misleading, but all dependencies are present, accounted for, and are fetchable via manual GETs.</p>
  
  <p>Between each and every attempt I always clear my cache in FireFox.  These problems are reproduced in IE8 and Chrome as well.</p>
  
  <p>Per my Java Console from the browser, I am running Java Plug-in 1.6.0_20.  This is from the same machine that I develop the applet on, which runs fine via Eclipse.</p>
  
  <p>Finally, I kicked on Fiddler2, and I don't see a single request for the jar files anywhere The host site is running from my Visual Studio debugger, so it's running on localhost.  But I see the requests for all the other resources on Fiddler.  Just... no Jars. ANYWHERE.  I clear the log, cleared my browser cache, and did a ctrl-R refresh.  And still, not a single Jar request on the Fiddler log.</p>
  
  <p>I even did a delayed write (with JS) of the applet tag after the page loaded, once all the Fiddler activity slowed down.  The element gets written to the document (and I can see the 100x100 Java error window), but not a <em>single</em> request shows up on Fiddler.</p>
  
  <p>Any suggestions, before I go crawl into the corner and cry myself to sleep?</p>
  
  <p>EDIT: From the Java console, if I hit "l" (el) to "dump classloader list", I see something that looks like this:</p>
  
  <pre><code>Live entry: key=http://localhost:55446/BaseWebSite/,http://localhost:55446/BaseWebSite/applet/myappliet.jar, http://localhost:55446/BaseWebSite/applet/applet_dependency.jar, refCount=1, threadGroup=sun.plugin2.applet.Applet2ThreadGroup[name=http://localhost:55446/BaseWebSite/-threadGroup,maxpri=4]
  </code></pre>
  
  <p>EDIT 2: The applet does some networking (Jabber/XMPP), so I did a self-signed cert to see if that helped.  Get prompted regarding the self signed cert - so it's reading something - but still doesn't work.  And it is <em>not</em> showing up in the Java cache file list... and still nothing on Fiddler.</p>