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, 16:44
prima di compilare il tutto hai settato il classpath?
variabilepippo
17-10-2008, 16: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, 17: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, 10: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, 14: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, 15: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, 20: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, 21: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.