Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    26

    Errore NoClassDefFoundError

    Buongiorno a tutti,
    sto incontrando serie difficoltà durante l'esecuzione dei file java.
    Il tutto è installato sia Windows 7 Sp1 che su XP SP3
    La versione di java installata è la 1.7.0_01
    Riesco a compilare i file via dos correttamente (javac NomeFile.java), ma al momento dell'esecuzione (java NomeFile) ottengo il seguente errore:

    codice:
    Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldSwing (wrong name: start/HelloWorldSwing) 	
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
    Il file che generare l'errore lo si può prelevare dalla oracle al seguente link:
    HelloWorldSwing

    Le variabili d'ambiente sono state settate nella maniera seguente:
    JAVA_HOME: C:\Program Files\Java\jdk1.7.0_01
    CLASSPATH: .;C:\Program Files\Java\jdk1.7.0_01
    PATH: C:\Program Files\Java\jdk1.7.0_01\bin

    Sapreste dirmi come posso risolvere?
    Grazie
    Simone

  2. #2
    Molto probabilmente non usi bene il package, infatti il file riporta
    codice:
    package start;
    Quindi per essere compilato ed eseguito correttamente, devi creare una directory "start" e metterci dentro il file.java.
    A questo punto dalla root (non da dentro "start") lanci i seguenti comandi
    codice:
    Compilazione:
    javac -cp .; start/*
    Esecuzione
    java -cp .; start.HelloWorldSwing
    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    26
    Grazie della velocità nella risposta.
    Perfetto funziona tutto correttamente ora.
    Ho fatto un attimo di prove ed effettivamente basta togliere l'istruzione package start e posso compilare ed eseguire con javac NomeFile.java e java NomeFile.
    Dove posso trovare qualcosa che mi chiarifichi l'utilizzo dell'istruzione package?

    Grazie mille ancora dell'aiuto!

    Simone

  4. #4
    Nulla di meglio della Guida Oracle. Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    26
    Grazie!!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.