Risultati da 1 a 6 di 6
  1. #1
    ZioYuri78
    ospite

    Predefinito [JAVA] Problema con applet

    Sicuramente è un problema stupido e io da nabbo stò facendo un errore madornale che non capisco, quindi vi prego non riempitemi di insulti.

    Ho scritto un applet di prova, ecco il codice:

    Codice:
    package it.unibs.yb.apptest;
    
    import java.applet.*;
    import java.awt.*;
    
    public class AppMain extends Applet{
    
        public void paint(Graphics g){
            g.drawString("Ciao babao", 10, 10);
        }
    }
    Poi ho caricato su uno spazio web tutta la cartella del package it/unibs/yb/apptest

    Ho creato un file html:
    Codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Yuri Belleri</title>
    </head>
    
    <body>
    <applet codebase="/it/unibs/yb/apptest/" code="AppMain.class"></applet>
    </body>
    </html>
    Ma quando vado a vedere la pagina web java mi da il seguente errore:
    Spoiler:

    Java Plug-in 1.6.0_21
    Uso della versione JRE 1.6.0_21-b07 Java HotSpot(TM) Client VM
    Directory principale utente = C:\Users\ZebSoft
    ----------------------------------------------------
    c: cancella finestra console
    f: finalizza oggetti nella coda di finalizzazione
    g: recupera spazio
    h: visualizza questo messaggio di aiuto
    l: esegui dump dell'elenco classloader
    m: stampa utilizzo memoria
    o: attiva registrazione eventi
    q: nascondi console
    r: ricarica configurazione criteri
    s: esegui dump delle proprietà del sistema e dell'installazione
    t: esegui dump dell'elenco thread
    v: esegui dump dello stack del thread
    x: cancella cache classloader
    0-5: imposta livello di traccia su <n>
    ----------------------------------------------------


    java.lang.NoClassDefFoundError: AppMain (wrong name: it/unibs/yb/apptest/AppMain)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknow n Source)
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Un known Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(U nknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Un known Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Un known Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unk nown Source)
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unk nown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionR unnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Eccezione: java.lang.NoClassDefFoundError: AppMain (wrong name: it/unibs/yb/apptest/AppMain)

    Ovvero non trova la classe. Perchè? Dove sbaglio?
    EDIT: ora l'errore è cambiato, e non ho toccato niente del codice, stà facendo tutto da solo
    Spoiler:

    Java Plug-in 1.6.0_21
    Uso della versione JRE 1.6.0_21-b07 Java HotSpot(TM) Client VM
    Directory principale utente = C:\Users\ZebSoft
    ----------------------------------------------------
    c: cancella finestra console
    f: finalizza oggetti nella coda di finalizzazione
    g: recupera spazio
    h: visualizza questo messaggio di aiuto
    l: esegui dump dell'elenco classloader
    m: stampa utilizzo memoria
    o: attiva registrazione eventi
    q: nascondi console
    r: ricarica configurazione criteri
    s: esegui dump delle proprietà del sistema e dell'installazione
    t: esegui dump dell'elenco thread
    v: esegui dump dello stack del thread
    x: cancella cache classloader
    0-5: imposta livello di traccia su <n>
    ----------------------------------------------------


    java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file it/unibs/yb/apptest/AppMain
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknow n Source)
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Un known Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(U nknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Un known Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Un known Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unk nown Source)
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unk nown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionR unnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Eccezione: java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file it/unibs/yb/apptest/AppMain
    Ultima modifica di ZioYuri78; 13-08-10 alle 13:53:13

  2. #2
    Il Fantasma
    Data Registrazione
    24-04-08
    Messaggi
    81

    Predefinito Riferimento: [JAVA] Problema con applet

    ClassNotFound:
    hai copiato le classi sotto classes oppure il jar è nel posto giusto?controlla anche il parametro codebase. Semplicemente non hai la "roba" nel percorso corretto (o non referenzi il percorso dove hai la tua classe)

    java.lang.ClassFormatError:
    This is a common mistake that occurs when you have ftp'ed (uploaded) your .class files under the ascii format instead of the binary format. Just binary ftp your files again.
    Qualcuno pure dice che,non trovando la risorsa,e ricevendo come risposta un 404 (e quindi una response in formato testo) la roba di sopra.


  3. #3
    ZioYuri78
    ospite

    Predefinito Riferimento: [JAVA] Problema con applet

    Citazione Originariamente Scritto da bellabax Visualizza Messaggio
    ClassNotFound:
    hai copiato le classi sotto classes oppure il jar è nel posto giusto?controlla anche il parametro codebase. Semplicemente non hai la "roba" nel percorso corretto (o non referenzi il percorso dove hai la tua classe)

    java.lang.ClassFormatError:
    This is a common mistake that occurs when you have ftp'ed (uploaded) your .class files under the ascii format instead of the binary format. Just binary ftp your files again.
    Qualcuno pure dice che,non trovando la risorsa,e ricevendo come risposta un 404 (e quindi una response in formato testo) la roba di sopra.

    1)Cosa intendi per "hai copiato le classi sotto classes"?.
    2)Non stò usando il jar, è solo un file . class all'interno del percorso del suo package.

    Allora, ripeto la procedura che ho fatto:
    1) Ho aperto Eclipse
    2)Ho creato il progetto AppTest
    3)Ho creato il package it.unibs.yb.apptest
    3)Ho creato il file AppMain.java
    4)Ho compilato il tutto
    5)Con filezilla ho preso la cartella corrispondente al package it/unibs/yb/apptest/ (ovviamente quella contenente il file .class) e l'ho caricata sul sito
    6)Ho creato il file index.html
    7)Ho scritto il tag <applet>
    Nel tag applet ho usato i seguenti parametri
    • codebase = "it/unibs/yb/apptest/"
    • code = "AppMain.class"
    Stando a ciò che ho fatto la "roba" trovarla, invece nisba, mi da l'errore di Incompatible Magic Value.

  4. #4
    Il Fantasma
    Data Registrazione
    24-04-08
    Messaggi
    81

    Predefinito Riferimento: [JAVA] Problema con applet

    ok,ma hai creato il percorso completo it/unisb/yb/apptest/? perchè serve tutto.
    Altrimenti prova a guardare con firebug,se qualcosa non funziona ti viene detto. L'hai mai usato? E' potentissimo. Naturalmente solo per Firefox

    Purtroppo correggere questi errori via forum è un casino, serve solo un po' di sbattimento per spostare cartelle e classi;ed ancora ti consiglio firebug.

    Spero tu possa trovare una soluzione senza impazzire troppo!
    Buon ferragosto

  5. #5
    ZioYuri78
    ospite

    Predefinito Riferimento: [JAVA] Problema con applet

    Si, ho trasferito direttamente tutto il percorso dalla cartella dei progetti di Eclipse. Il bello è che se creo la stessa identica applet senza metterla in un package e carico il file .class nella root del sito, poi nel tag applet metto solo "code=AppTest.class" funziona .
    Appena ho tempo provo a vedere cosa mi dice firebug, c'è l'ho installato ma non lo uso mai

    Buon ferragosto anche a te, grazie

  6. #6
    ZioYuri78
    ospite

    Predefinito Riferimento: [JAVA] Problema con applet

    Problema risolto, chiudete pure

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice HTML è Disattivato