 
View Full Version : [Java] Impossibile eseguire qualsiasi programma.
Ciao a tutti. Ho provato a compilare un semplicissimo programma tramite l'ambiente di MS DOS, ma non funziona. Mi dice questo:
Exception in thread "main" java.lang.NoClassDefFoundError: Domanda
Caused by: java.lang.ClassNotFoundException: Domanda
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: Domanda.  Program will exit.
Il programma è il seguente:
import java.io.*;
import java.lang.*;
class Domanda 
{
	public static void main (String args[]) 
	{
	System.out.println("Hello World"); 
	}
}
Come mai non funziona?? :mc: :mc: :mc:
RaouL_BennetH
17-10-2008, 17:44
prima di compilare il tutto hai settato il classpath?
variabilepippo
17-10-2008, 17:46
Come cerchi di eseguirlo?
Dopo aver compilato il file domanda.java con javac domanda.java in domanda.class devi digitare:
java domanda + INVIO da linea di comando.
Se scrivo "Path" sul DOS mi viene fuori:
PATH=C:\Programmi\Java\jdk1.6.0_10\bin
cioè il percorso del javac...non so se ho fatto giusto. Ho messo come variabile d'ambiente questo percorso con il nome Java. :confused:
Come cerchi di eseguirlo?
Dopo aver compilato il file domanda.java con javac domanda.java in domanda.class devi digitare:
java domanda + INVIO da linea di comando.
Allora mi porto sulla cartella dove c'è il File Domanda.java
Poi scrivo "javac Domanda.java" e mi crea il Domanda.class senza problemi.
Poi scrivo "java Domanda" e mi viene quell'insieme di errori... Avrò settato male il Path forse boh. Però fa così con qualsiasi cosa scriva..."Java abcd" e fa così, Java esempio e fa così...ogni volta che scrivo Java + qualcosa.
RaouL_BennetH
17-10-2008, 18:09
prova a fare così allora:
java -cp . Domanda
prova a fare così allora:
java -cp . Domanda
Quindi non è impostato il comando Java dal DOS...per questo non va. :confused:  
Comunque grazie 1000. Ora funziona. ;)
Adesso utilizzo Java con l'ambiente di sviluppo Textpad e non mi funziona più niente. :mc: :mc: :mc: :mc: 
Compilo il programma e mi dice "Procedura completata correttamente".
Eseguo e dice:
Exception in thread "main" java.lang.NoClassDefFoundError: A
Caused by: java.lang.ClassNotFoundException: A
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: A.  Program will exit.
Premere un tasto per continuare . . .
Se io invece faccio dal Prompt dei Comandi:
javac A.java
java -cp . A
Funziona tutto correttamente. 
Come mai??? :cry: :cry: :cry:
banryu79
03-11-2008, 11:18
TextPad per compilare ed eseguire java: a me funziona. 
La mia configurazione, sotto Configura>Preferenze>Strumenti>Compila Java
Comando:
javac.exe
---
Parametri:
$File
---
Cartella Iniziale:
$FileDir
---
sotto Configura>Preferenze>Strumenti>Esegue Applicazioni Java
Comando:
java.exe
---
Parametri:
$BaseName
---
Cartella Iniziale:
$FileDir
---
Significato parametri:
$File
(Il nome esteso del file del documento corrente, comprensivo del percorso)
--
$FileDir
(viene sostituito con la cartella del documento attivo)
--
$BaseName
(è come $FileName, senza estensione)
--
$FileName
(Il nome del file del documento corrente, senza percorso)
--
TextPad per compilare ed eseguire java: a me funziona. 
La mia configurazione, sotto Configura>Preferenze>Strumenti>Compila Java
Comando:
javac.exe
---
Parametri:
$File
---
Cartella Iniziale:
$FileDir
---
sotto Configura>Preferenze>Strumenti>Esegue Applicazioni Java
Comando:
java.exe
---
Parametri:
$BaseName
---
Cartella Iniziale:
$FileDir
---
Significato parametri:
$File
(Il nome esteso del file del documento corrente, comprensivo del percorso)
--
$FileDir
(viene sostituito con la cartella del documento attivo)
--
$BaseName
(è come $FileName, senza estensione)
--
$FileName
(Il nome del file del documento corrente, senza percorso)
--
Se io vado su "Strumenti", ci sono 3 voci:
- Compila Java
- Esegui applicazione Java
- Esegui applet Java
Poi accanto posso eliminare o aggiungere un'ulteriore voce. :stordita:
EDIT:
Scusa dai, mi sono accorto del menù ad albero in ritardo. 
Comunque ho controllato e i parametri che hai scritto sono quelli che ci sono anche nel mio TextPad. Però, al posto di $File ad esempio, devo metterci il nome esteso del file?? O è giusto che ci sia $File?
^TiGeRShArK^
03-11-2008, 15:40
prova a modificare la variabile d'ambiente classpath aggiungendo alla fine dell'elenco il .
Se ad esempio hai nel CLASSPATH
c:\ciccio;c:\pippo
devi farlo diventare c:\ciccio;c:\pippo;.
banryu79
03-11-2008, 16:40
Se in TextPad la configurazione è la stessa di quella che ti ho postato allora come suggerisce TigerShark è un problema di classpath.
prova a modificare la variabile d'ambiente classpath aggiungendo alla fine dell'elenco il .
Se ad esempio hai nel CLASSPATH
c:\ciccio;c:\pippo
devi farlo diventare c:\ciccio;c:\pippo;.
Il Classpath devo metterlo in variabili dell'utente o variabili di sistema??
Cmq sul classpath ho messo:
C:\j2sdk1.4.2_13\lib
Non so se ho fatto giusto..:mc:
^TiGeRShArK^
03-11-2008, 21:13
Il Classpath devo metterlo in variabili dell'utente o variabili di sistema??
Cmq sul classpath ho messo:
C:\j2sdk1.4.2_13\lib
Non so se ho fatto giusto..:mc:
:mbe:
nel 2008 usi ancora java 1.4? :mbe:
Comunque devi semplicemente aggiungere un punto finale al classpath in tutte e due le variabili, separato da un punto e virgola come ti avevo mostrato nel mio post precedente....
:mbe:
nel 2008 usi ancora java 1.4? :mbe:
Comunque devi semplicemente aggiungere un punto finale al classpath in tutte e due le variabili, separato da un punto e virgola come ti avevo mostrato nel mio post precedente....
:D :D :D  Eh scusa ma non so le ultime versioni quali sono :stordita: 
Così quindi? :
C:\j2sdk1.4.2_13\lib;.
^TiGeRShArK^
03-11-2008, 22:04
:D :D :D  Eh scusa ma non so le ultime versioni quali sono :stordita: 
Così quindi? :
C:\j2sdk1.4.2_13\lib;.
yes..
così ad occhio dovrebbe andare..
l'ultima versione è questa:
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u10-oth-JPR@CDS-CDS_Developer
Java 6 Update X
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.