PDA

View Full Version : [installare jdk] errore idiota


NA01
12-08-2005, 15:12
ho installato l'ultimo jdk per iniziare a fare qualcosa in java dato che l'anno prossimo ho due esami con lab con questo linguaggio.
ho installato tutto con ./nome
ho modificato il bashrc così:
JAVA_HOME=/opt/jdk1.5.0_04/
export JAVA_HOME
PATH=$PATH
export PATH
CLASSPATH=/opt/jdk1.5.0_04/
export CLASSPATH

poi ho scirtto un programmino idiota, lo ho compilato con javac
questo mi crea correttamente il file prova.class, ma
java prova
o
java prova.class
mi danno entrambi un simpatico errore:
Exception in thread "main" java.lang.NoClassDefFoundError:prova

lo ho messo qua e non in programmazione perchè il problema è di certo nella configuraziopne dato che lo fa anche con un bellissimo hello world....

ciao!

VICIUS
12-08-2005, 15:55
Il runtime nel jdk sta nella sotto directory lib. Inoltre aggiungi anche "." al classpath cosi cerca senmpre anche nella directory corrente.

ciao ;)

NA01
12-08-2005, 16:12
scusa, mi sento idiota :D
le vacanze dovevano rimettermi inseime, ma a quanto pare mi hanno distrutto ancora di più :sofico:

potresti essere un pò più pratico ?:D

grazie, ciao!

VICIUS
12-08-2005, 16:46
Qualcosa di simile a questo:
CLASSPATH=".;/opt/jdk1.5.0_04/lib/"

dopo di che "java NomeClasse" senza il .class

ciao ;)

NA01
12-08-2005, 16:50
grazie dell'attenzione.
però non ci siamo ancora :)
maledetta l'università che mi lancia verso i territori oscuri del closed source :O :sofico:

ora mentre compila dice


*** Semantic Warning: I/O warning: "No such file or directory" while trying to open .;/opt/jdk1.5.0_04/lib/.


java prova non va ancora :(

grazie di nuovo, ciao!

VICIUS
12-08-2005, 16:53
Ora non ricordo bene. Ma forse il ";" è sbagliato. Prova a mettere un ":". Altrimenti controlla che se la carttella lib esiste.

ciao ;)

NA01
12-08-2005, 17:10
Ora non ricordo bene. Ma forse il ";" è sbagliato. Prova a mettere un ":". Altrimenti controlla che se la carttella lib esiste.

ciao ;)
mitico!
erano i :

grazie mille

ciao!

Trotto@81
13-08-2005, 10:46
Con il jdk sella serie 1.5 non serve esportare la variabile $CLASSPATH, infatti nella slack le varibili sono impostate così:

#!/bin/sh
export JAVA_HOME=/usr/lib/java
export MANPATH="$MANPATH:/usr/lib/java/man"
export PATH="$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin"

Gica78R
13-08-2005, 11:12
Oh, quindi voi la variabile PATH la modificate in bash.rc? Io inizialmente avevo messo export PATH=<directory_sdk>/bin:$PATH nel file rc.local, ma la variabile, anche dopo il riavvio, non veniva aggiornata (mi sa che pero' dimenticavo le virgolette :( ). Cmq ho risolto inserendo una riga nel file /etc/profile, vale a dire pathmunge <directory_sdk>/bin dove pathmunge e' una funzione, definita nello stesso script /etc/profile, che aggiunge una directory alla variabile PATH (puo' farlo sia in coda che in testa alla var, passando o meno alla funzione anche il parametro after ).
Non ho invece settato la variabile CLASSPATH... Ora provvedo!

Ciao... :)

Trotto@81
13-08-2005, 17:04
Non ho invece settato la variabile CLASSPATH... Ora provvedo!

Ciao... :)

Non serve settarla con l'ultimo jdk, fai qualcosa di superfluo che non cambia nulla...

Gica78R
13-08-2005, 23:38
Non serve settarla con l'ultimo jdk, fai qualcosa di superfluo che non cambia nulla...
Gia', ma per il momento ho installato l'SDK 1.4.2_08... :)

Ed_Bunker
13-08-2005, 23:43
Non serve settarla con l'ultimo jdk, fai qualcosa di superfluo che non cambia nulla...
A me senza classpath settato non mi beccava gli stub...

Trotto@81
14-08-2005, 08:32
A me senza classpath settato non mi beccava gli stub...

Nell'1.5 non serve, se usi l'1.4 si...su questo non si discute! :)