Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [JAVA} problema con package

    salve a tutti
    vi porgo subito il mio strano problema:

    ho scritto un mini programma di prova con tre classi
    ElementLister.java
    Utente.java
    Cavolo.java

    cavolo.java contiene il main
    compilando a riga di comando il programma nn da problemi, vengono creati i 3 file .class ed il main viene eseguito normalmente.

    ora non appena inserisco in tutti e tre i file il comando package mio; a compilare compila, ma durante l'esecuzione mi da errore e non esegue il programma

    codice:
    C:\jspprova\esercitazione\WEB-INF\classes\mio>C:\Programmi\Java\jdk1.5.0\jre\bin
    \java  -classpath "..\jdom.jar;" Cavolo
    Exception in thread "main" java.lang.NoClassDefFoundError: Cavolo (wrong name: mio/Cavolo)
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
    4)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
            at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    
    C:\jspprova\esercitazione\WEB-INF\classes\mio>pause
    Premere un tasto per continuare . . .
    
    C:\jspprova\esercitazione\WEB-INF\classes\mio>
    la vita è un fulmine ma prenderlo nel culo è un lampo.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Non appena aggiungi quella riga di comando, infatti, dichiari che le classi fanno parte di un package: per avviare il programma, quindi, devi spostarti nella cartella appena superiore! Esempio: se tu hai un programma che si chiama Pippo, che fa parte di un package chiamato MioPackage, questa sarà la struttura della tua classe Pippo.java:
    codice:
    package MioPackage;
    
    public class Pippo {
       ...
    }
    E questa sarà contenuta in una cartella chiamata MioPackage, ad esempio:
    codice:
    C:\MieiProgrammi\MioPackage\Pippo.class
    Per eseguire questo programma, devi essere nella cartella MieiProgrammi e non all'interno della cartella MioPackage, utilizzando il nome della classe completo del dome del package:
    codice:
    C:\MieiProgrammi> java MioPackage.Pippo
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Grazie 1000, ora funziona...
    ma volevo chiederti un'altra cosa... tu usi JSP???

    xkè io devi far funzionare questa classe in una Jsp usando i Bean
    la vita è un fulmine ma prenderlo nel culo è un lampo.

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    No, non uso JSP. Mi spiace.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.