ramonlopes / jzebra

Automatically exported from code.google.com/p/jzebra
0 stars 0 forks source link

java.lang.ClassNotFoundException : jzebra.PrintApplet.class #41

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
I've been successfully using jZebra in my development environment but now that 
I have moved it to the test environment, I get the following java console error 
when loading the html page that contains the applet:

    java.lang.ClassNotFoundException: jzebra.PrintApplet.class
        at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
        at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
        at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
        at sun.plugin2.applet.Plugin2ClassLoader.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)

The HTML code is as follows:

            <div id="divAppletContainer" style="height:1px;width:1px;float:right;">
               <applet name="jZebra" id="jZebra" code="jzebra.PrintApplet.class" archive="/applets/jzebra/jzebra.jar" width="1" height="1">
                  <param name="printer" value="epson">
                  <!-- <param name="sleep" value="200"> -->
               </applet>
           </div>

Any ideas on why it is working in on instance and not another?

Original issue reported on code.google.com by pedro.da...@gmail.com on 16 Feb 2012 at 1:22

GoogleCodeExporter commented 8 years ago
Usually this means your archive path is set incorrectly.  Is the archive folder 
accessible via web browser at that path?

Original comment by tres.fin...@gmail.com on 16 Feb 2012 at 2:51

GoogleCodeExporter commented 8 years ago
Hi,

I can browse to the .jar file and download it. Is there something else I could 
be missing?

Original comment by pedro.da...@gmail.com on 16 Feb 2012 at 3:00

GoogleCodeExporter commented 8 years ago
Your code shows:

archive="/applets/jzebra/jzebra.jar"

This first slash "/" means, in the root of your web server, you have a folder 
called "applets".  Is this true?  Can you attach a screenshot of the URL you 
use to download the jar?

-Tres

Original comment by tres.fin...@gmail.com on 16 Feb 2012 at 8:27

GoogleCodeExporter commented 8 years ago
Sure, here's a screenshot

Original comment by pedro.da...@gmail.com on 17 Feb 2012 at 6:23

GoogleCodeExporter commented 8 years ago
Sorry, the email I replied to didn't seem to attach the screenshot...

Original comment by pedro.da...@gmail.com on 17 Feb 2012 at 6:24

Attachments:

GoogleCodeExporter commented 8 years ago
Thanks for the prompt reply.  I think this is a finicky bug with Java actually. 
 Try hard coding:

archive="http://juicytest/applets/jzebra/jzebra.jar"

If you wanted to keep from hard-coding it, you could probably even get away 
with this:

archive="../../../../../applets/jzebra/jzebra.jar"

I think some browsers want an absolute path.  This is unfortunate, but a 
limitation of the browser and Java, and not necessarily something we could fix 
without some php or JavaScript help.

-Tres

Original comment by tres.fin...@gmail.com on 17 Feb 2012 at 6:43

GoogleCodeExporter commented 8 years ago
May also have to do with your DocumentRoot definition in Apache/IIS actually.  
May be worth comparing those settings as well.

-Tres

Original comment by tres.fin...@gmail.com on 17 Feb 2012 at 6:45

GoogleCodeExporter commented 8 years ago
Thanks but none of the suggestions have worked. Below is the stack from my
java console:

basic: Added progress listener:
sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener@a1807c
basic: Plugin2ClassLoader.addURL parent called for
http://juicetest/applets/jzebra/jzebra.jar
network: Cache entry not found [url:
http://juicetest/applets/jzebra/jzebra.jar, version: null]
network: Connecting http://juicetest/applets/jzebra/jzebra.jar with
proxy=DIRECT
network: Connecting http://juicetest:80/ with proxy=DIRECT
network: Cache entry not found [url:
http://juicetest/applets/jzebra/jzebra.jar, version: null]
network: Connecting http://juicetest/applets/jzebra/jzebra.jar with
proxy=DIRECT
network: Connecting http://juicetest:80/ with proxy=DIRECT
java.io.IOException: Authentication failure
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
Source)
    at sun.plugin.PluginURLJarFileCallBack.downloadJAR(Unknown Source)
    at sun.plugin.PluginURLJarFileCallBack.access$000(Unknown Source)
    at sun.plugin.PluginURLJarFileCallBack$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
    at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
    at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
    at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
    at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
    at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown
Source)
    at
sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown
Source)
    at
sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown
Source)
    at
com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown
Source)
    at
com.sun.deploy.security.DeployURLClassPath$JarLoader.access$800(Unknown
Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown
Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at
com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown
Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown
Source)
    at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown
Source)
    at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.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)
network: Cache entry not found [url:
http://juicetest/applets/jzebra/jzebra.jar, version: null]
network: Connecting http://juicetest/applets/jzebra/jzebra.jar with
proxy=DIRECT
network: Connecting http://juicetest:80/ with proxy=DIRECT
network: Cache entry not found [url:
http://juicetest/applets/jzebra/jzebra.jar, version: null]
network: Connecting http://juicetest/applets/jzebra/jzebra.jar with
proxy=DIRECT
network: Connecting http://juicetest:80/ with proxy=DIRECT
network: Cache entry not found [url:
http://juicetest/applets/jzebra/jzebra.jar, version: null]
network: Connecting http://juicetest/applets/jzebra/jzebra.jar with
proxy=DIRECT
network: Connecting http://juicetest:80/ with proxy=DIRECT
network: Cache entry not found [url:
http://juicetest/applets/jzebra/jzebra.jar, version: null]
network: Connecting http://juicetest/applets/jzebra/jzebra.jar with
proxy=DIRECT
network: Connecting http://juicetest:80/ with proxy=DIRECT

Original comment by pedro.da...@gmail.com on 17 Feb 2012 at 10:00

GoogleCodeExporter commented 8 years ago
Thanks again for the quick response.  What are you using for authentication to 
your web server?  NTLM?  You may need to host the jar in a non-protected URL.  
The logs suggest java is starting but unable to authenticate to access the jar. 
 Some proprietary protocols like NTLM could cause this.

Original comment by tres.fin...@gmail.com on 17 Feb 2012 at 1:58

GoogleCodeExporter commented 8 years ago
Thanks for your help. I had a look and the problem was that the folder the
jar was in was using Windows authentication. I've enabled anonymous
authentication and it solves the issue. Thanks again for all your help.
Great product by the way!

Original comment by pedro.da...@gmail.com on 17 Feb 2012 at 2:07

GoogleCodeExporter commented 8 years ago
Thanks for such a quick response (again).  Marking bug as invalid and closing.

Original comment by tres.fin...@gmail.com on 17 Feb 2012 at 2:28