PDA

View Full Version : Path e classpath java in linux...


Crashman
12-11-2005, 08:22
Ecco il mio problema, uso da pochissimo linux e non ho idea di come si possano impostare path e classpath per utilizzare i vari eseguibili dei jdk. Mi potete descrivere la procedura???


Ps: uso openSuse 10

Alvaro Vitali
12-11-2005, 11:15
Ciao,
prova a digitare nella console
export PATH=$PATH:{JDK_HOME}/bin

dove {JDK_HOME} rappresenta la directory in cui hai installato il jdk, ad esempio /usr/java/jdk1.5.0_05.

Crashman
12-11-2005, 11:44
Ciao,
prova a digitare nella console
export PATH=$PATH:{JDK_HOME}/bin

dove {JDK_HOME} rappresenta la directory in cui hai installato il jdk, ad esempio /usr/java/jdk1.5.0_05.
Ci avevo già provato e purtroppo non funziona. Ho provato a compilare in una cartella dove javac non è presente e dice che il programma non è nella cartella.
In win sto fatto è decisamente più facile da configurare :muro:

Alvaro Vitali
12-11-2005, 11:50
Non è più facile è solo che bisogna sapere come si fa.

Cmq quello che ti ho scritto funziona solo che vale momentaneamente per la sessione corrente, infatti se esegui quella stringa e, senza chiudere la console, digiti "java" vedrai che il comando è riconosciuto.

Per impostarla in modo permanente devo fare una ricerchina... ;)

Alvaro Vitali
12-11-2005, 14:10
Trovato: inserisci la stringa

export PATH=$PATH:/usr/java/jdk1.5.0_05/bin

nel file .bashrc che trovi nella tua home, cambia ovviamente la path con quella tua.

ciao :)

pinok
12-11-2005, 16:03
Trovato: inserisci la stringa

export PATH=$PATH:/usr/java/jdk1.5.0_05/bin

nel file .bashrc che trovi nella tua home, cambia ovviamente la path con quella tua.

ciao :)
Non vorrei sbagliare, ma non deve metterci anche la JAVA_HOME, quindi qualcosa del tipo:

JAVA_HOME=:/usr/java/jdk1.5.0_05
PATH=$PATH:$JAVA_HOME/bin

export PATH JAVA_HOME

Se le stesse modifiche le vuole rendere permanenti per tutti gli utenti/programmi, mi pare debba scriverle in /etc/profile

Crashman
13-11-2005, 16:00
k, ho risolto parzialmente. Nel senso che la PATH sono riuscito ad impostarla (modificando il file bash.bashrc.local e aggiungendo la stringa postata prima), ma non riesco ad impostare il classpath. In oltre utilizzando le librerie standard compiloa tranquillamante, ma poi non mi lascia eseguire il programma e mi da un messaggio d'errore (in win invece, con lo stesso codice, con mi da problemi ne di complilazione ne i esecuzione). Che può essere????

Alvaro Vitali
13-11-2005, 17:50
non mi lascia eseguire il programma e mi da un messaggio d'errore

Magari potresti postare l'errore che ricevi assieme al comando che usi per eseguire la tua applicazione?

Crashman
13-11-2005, 18:56
Uso il comando java per lanciare il file .class (quindi # java "nome") e mi compare questa stringa:
# Exception in thread "main" java.lang.NoClassDefFoundError: "nome"
E' una cosa molto strana, non vorrei che ci siano altre cose da configurare in ambiente linux rispetto a win

pinok
13-11-2005, 23:18
JAVA_HOME l'hai settato?
Prova a mettere a riga di comando

java -classpath ./ nomeApplicazione

Se funziona, puoi settare nel bashrc

CLASSPATH = ./

Hai provato anche a dare

java -version

per vedere se ti sta vedendo effettivamente il JDK e non piuttosto il kaffe che soprattutto sotto debian è molto prepotente ;) ??

Crashman
14-11-2005, 17:16
Ho dato un'occhiata al sito della sun è ho notato che nella lista compatibiltà c'è solo gnome. Potrebbe essere questo il problema, visto che ho istallato KDE???

pinok
14-11-2005, 18:29
Ho dato un'occhiata al sito della sun è ho notato che nella lista compatibiltà c'è solo gnome. Potrebbe essere questo il problema, visto che ho istallato KDE???
Sicuro?
Non capisco cosa c'entri Gnome e/o KDE rispetto al JDK.

Crashman
15-11-2005, 20:45
Ok, sono riuscito ad impostare anche il classpath, ora compila anche con librerie non standard. Per il comando java ancora non funge e continua a darmi ancora quell'errore precedente e non riesco a capire ancora a cosa possa essere dovuto...

pinok
15-11-2005, 20:56
java -version

l'hai provato? Cosa ti restituisce?
Che distribuzione di Linux usi?
Dovresti descrivere da dove lanci java, ovvero: "mi trovo nella directory xy, dò java nome e nome si trova nella directory pincoPallo".
Magari si riesce a dirti di più.

Crashman
15-11-2005, 20:58
java -version

l'hai provato? Cosa ti restituisce?
Che distribuzione di Linux usi?
Dovresti descrivere da dove lanci java, ovvero: "mi trovo nella directory xy, dò java nome e nome si trova nella directory pincoPallo".
Magari si riesce a dirti di più.
java -version mi restituisce questo
java version "1.5.0_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_05-b05)
Java HotSpot(TM) Client VM (build 1.5.0_05-b05, mixed mode, sharing)

Come distribuzione uso openSUSE 10

pinok
15-11-2005, 23:32
OK, Java è a posto, viene vista quella ufficiale.
Prova a dirci quando apri la console dove ti piazzi rispetto al codice. Nel classpath hai messo ./: per dire di considerare anche la directory in cui ti trovi quando lanci java ?

Crashman
16-11-2005, 07:40
OK, Java è a posto, viene vista quella ufficiale.
Prova a dirci quando apri la console dove ti piazzi rispetto al codice. Nel classpath hai messo ./: per dire di considerare anche la directory in cui ti trovi quando lanci java ?
Mi piazzo nella stessa cartella del codice. Faccio javac e compila tranquillamente, dopo faccio java e mi da quell'errore


Ps: sì, ho messo ./ ;)