View Full Version : [JAVA] Problemi con NetBeans
ScorpionGT
07-02-2004, 21:17
Ciao a tutti, sto facendo un programma in Java con netBeans 3.5.1, ora lo sto quasi finendo, ed è sorto un problema: ho provato a eseguire il file principale .class elaborato da netBeans senza usare netBeans, e cioè scrivendo in un file .bat la stringa "java <nome file>", ma mi dice che c'è un eccezione nel main di NoClassDefFoundError (in netBeans fila tutto liscio). Così decido di compilare il file .java direttamente con "javac <nome file>.java". Pure qui mi da errore, dicendo che mancano delle classi. Stavolta mi esce però tutto l'elenco delle classi mancanti, e il nome di tutte queste classi iniziava con netbeans. Mi è venuto un grosso sospetto che gli servono delle classi di netbeans. Ho provato anche a spostare il file .java nella cartella bin, ma niente. Ora come posso fare per eseguire il programma lanciandolo con il comando java, cioè senza netbeans?
Sul mio pc ho installato la Java VM e naturalmente il JDK 1.4.2 con netBeans. Sto facendo questo programma in gruppo per un esame all'univ, e quando questo programma verrà eseguito dai computer dei prof, non avrà netBeans, ma solo la Java VM. Quindi come posso farlo partire normalmente, visto che sui pc in cui dovrà girare non sarà installato netBeans?
p.s.
Ho provato ad eseguire alcuni programmini semplici privi di interfaccia con il blocco note, senza l'utilizzo di netBeans, e vengono compilati ed eseguiti alla perfezione.
Puoi postare i messaggi di errore in esecuzione e compilazione? (bastano le prime 10-15 linee)
ScorpionGT
08-02-2004, 08:56
Ecco in allegato la schermata della compilazione e poi quella dell'esecuzione di un programmino Prova. Eseguendolo con NetBeans funziona alla perfezione, ma eseguendolo con un file .bat non funge.
ScorpionGT
08-02-2004, 08:58
E qui c'è in allegato l'errore che mi da in esecuzione.
in NetBeans se crei un certo numero di classi devi togliere la dichiarazione public dal nome della classe
una volte he decidi di separare le classi, queste devono possedere public ed il nome della classe deve coincidere col nome del file
non ho mai capito i delicati motivi di un tale comportamento ma prova a vedere se ricadi in una di queste situazioni
mi ricordo che veniva generato l'errore da te menzionato quando compilavo prima òa classe main e dopo le classi di supporto; facendo il contrario tutto si sistemava
io compilavo scrivendo:
javac *.class
spero di non aver sritto troppe cazzate :D
ScorpionGT
08-02-2004, 09:48
Ho provato a togliere public dal nome della classe, ma mi da un errore sintattico sia con NetBeans che con Javac.
Il programmino Prova è un unica classe, e sia il nome del file, sia il nome della classe coincidono. Questo anche per il programma che dovrò consegnare, in quanto per default NetBeans stesso setta il nome della classe uguale al nome del file.
Dagli errori che da in compilazione credo che abbia bisogno di alcune classi di NetBeans, quelle nella prima foto, ma nn so proprio dove andare a prenderle o come utilizzarle.
L'obbiettivo finale è quello di far funzionare il programma senza che NetBeans sia installato, solo con la Java VM.
prova a tenere le tue classi nella stessa cartella del JDK
Exception in thread "main" java.lang.NoClassDefFoundError: A
at Esercizio.main(Esercizio.java:3)
ScorpionGT
08-02-2004, 12:21
Ho copiato il programma di Prova "Prova.java" nella cartella bin della Java SDK, ma mi da lo stesso errore...
Cerca il file AbsoluteLayout.zip, viene distribuito insieme a NetBeans. L'archivio contiene le classi LayoutManager non standard usate dal form-builder di Netbeans.
Copia il file AbsoluteLayout.zip nella cartella ext del JDK (oppure compila con l'opzione classpath, includendo il percorso dell'archivio zip)
compila con javac.
Ricorda di includere lo zip nella distribuzione dell'applicazione (se non usi un installer, copia lo zip nella stessa cartella in cui si trova la directory del package superiore a cui appartengono le classi sviluppate).
Originariamente inviato da ScorpionGT
Ho copiato il programma di Prova "Prova.java" nella cartella bin della Java SDK, ma mi da lo stesso errore...
perchè in bin ?
io li eseguo sempre nella cartella
C:\j2sdk1.4.1_02
e non ho mai avuto problemi
ovviamente dopo aver settato il "class path" e "path" nel modo opportuno
ScorpionGT
08-02-2004, 15:11
Ho risolto: ho copiato la cartella "org" presente in "Sources" di NetBeans nella cartella "bin" delle JDK. Poi ho copiato il file .java nella cartella "bin". L'ho compilato correttamente scrivendo in un file .bat "javac -classpath . Prova.class". Poi ho preso tutti i file .class, compresi quelli creatisi nella cartella "org", e li ho messi dove mi piaceva. Poi per avviarli, sempre con un file .bat, ho scritto "java -classpath . Prova", e tutto è andato liscio. L'unica cosa è che mi porto quella cartella "org" insieme al file .class principale, in quando se sposto i 2 file .class contenuti nella cartella "org" in quella principale, mi da errore. Cmq finalmente funziona...grassie 1000 per il supporto, ciao ciao ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.