View Full Version : modificare classpath
Spider550
06-12-2008, 18:42
ciao a tutti,
ho un problema con la programmazione java, infatti devo utilizzare un package che non è presente in java e non riesco ad inserire questo package nel classpath.
Nella shell inserendo la stringa CLASSPATH = .;/home/utente/mylib; mi da errorre " comand CLASSPATH not found".
Chi mi da una mano??
uso linux ubuntu.
Oceans11
06-12-2008, 23:01
ciao a tutti,
ho un problema con la programmazione java, infatti devo utilizzare un package che non è presente in java e non riesco ad inserire questo package nel classpath.
Nella shell inserendo la stringa CLASSPATH = .;/home/utente/mylib; mi da errorre " comand CLASSPATH not found".
Chi mi da una mano??
uso linux ubuntu.
Da un utente linux mi sarei aspettato un minimo di attenzione all'output degli errori....cmq ottieni errore perchè non dai nessun comando.
prova con:
export CLASSPATH=.;/home/utente/mylib.jar;
dove mylib.jar è il jar del package che vuoi usare (perchè la libreria è in un file jar vero????)
Spider550
06-12-2008, 23:50
Da un utente linux mi sarei aspettato un minimo di attenzione all'output degli errori....cmq ottieni errore perchè non dai nessun comando.
utente linux solo da alcuni giorni :D
export CLASSPATH=.;/home/utente/mylib.jar;[/CODE]
dove mylib.jar è il jar del package che vuoi usare (perchè la libreria è in un file jar vero????)
no il package è in una directory.
Oceans11
07-12-2008, 00:20
beh allora devi incasinare parecchio il classpath, dandogli tutte le directory del package, una ad una.
Spider550
07-12-2008, 18:00
purtroppo non sono bravo ad utilizzare i comandi...cosa dovrei scrivere?
Oceans11
07-12-2008, 18:09
metti caso che il package sia costituito in questo modo:
a
|-> b
|
-> d
|-> c
quindi in pratica "b" e "c" sono sottodir di "a", e "d" è sottodir di "b".
devi impostare ogni cartella nel classpath, quindi il comando sarà:
export CLASSPATH=.;/../a;/../a/b;/../a/c;/../a/b/d
NB: al posto dei puntini ci và il percorso completo dalla radice.
Spider550
10-12-2008, 16:28
metti caso che il package sia costituito in questo modo:
a
|-> b
|
-> d
|-> c
quindi in pratica "b" e "c" sono sottodir di "a", e "d" è sottodir di "b".
devi impostare ogni cartella nel classpath, quindi il comando sarà:
export CLASSPATH=.;/../a;/../a/b;/../a/c;/../a/b/d
NB: al posto dei puntini ci và il percorso completo dalla radice.
ho fatto cm mi hai detto ma niente ecco cosa mi dice:
bash: /home/utente/mylib: è una directory
bash: /home/utente/mylib/prog/io: è una directory
bash: /home/utente/mylib/prog/utili: è una directory
Oceans11
11-12-2008, 01:03
ho fatto cm mi hai detto ma niente ecco cosa mi dice:
bash: /home/utente/mylib: è una directory
bash: /home/utente/mylib/prog/io: è una directory
bash: /home/utente/mylib/prog/utili: è una directory
Mmm...probabile che io abbia toppato. Prova ad inserire nella classpath solo la directory root del package...ed incrocia le dita! :D
^TiGeRShArK^
11-12-2008, 02:08
in linux il separatore non è ; ma è : se non sbaglio.
Comunque se il package da utilizzare è in una directory bisogna aggiungere al classpath la directory che contiene il primo livello del package.
Se ad esempio hai rispettivamente la tua classe nel package mio.package.MiaClasse e allo stesso livello hai altro.package basta scrivere:
java -cp . mio.package.MiaClasse
e funge tutto senza modificare la variabile d'ambiente :O
Oceans11
11-12-2008, 03:06
in linux il separatore non è ; ma è : se non sbaglio.
No no...altro mio errore....azz!chiedo venia.
Comunque se il package da utilizzare è in una directory bisogna aggiungere al classpath la directory che contiene il primo livello del package.
Eh almeno a questo avevo riparato per bene allora...:)
Spider550
11-12-2008, 13:59
grazie ragazzi...avevo già risolto inserendo i : al post del ; :D :D
grazie di tutto:D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.