Aggiunta di una cartella di file jar al mio percorso


10

Ho degli strumenti Java che devo usare. Gli strumenti si trovano in una cartella piena di file jar. Volevo aggiungere questa cartella al mio percorso, per ovvi motivi, ma dopo aver modificato il mio .bash_profile per includere la nuova cartella nella variabile $ PATH e averla originata, non funziona. Ho anche provato a disconnettermi e ad accedere nuovamente, e non ha funzionato neanche. Continuo a ricevere il messaggio di errore "Impossibile accedere a jarfile .jar"


Hai controllato se non si tratta di un problema di autorizzazioni?
matcheek,

Dovrai scusare la mia ignoranza, ma come posso verificarlo?
Davy Kavanagh,

Si consiglia di controllare questa risposta: stackoverflow.com/questions/5569591/...
matcheek

Risposte:


5

Per i file JAR, è necessario impostare CLASSPATH e non la variabile di ambiente PATH.

Se stai usando BASH, è: export CLASSPATH="$CLASSPATH:<full_path_to_each_jar_files>"

È meglio aggiungerlo nel file a .bashrcmeno che non si sappia cosa si sta facendo.

Esempio:

export CLASSPATH="$CLASSPATH:$HOME/java/lib/foebar.jar:$HOME/extra/lib/another.jar"

Ma ovviamente, se stai ancora invocando il file jar con la classe Main devi usare il percorso completo per esso:

java -jar $HOME/java/lib/main-prog.jar

Tuttavia, puoi impostarne la corretta esecuzione ed eseguirlo:

chmod u+x $HOME/java/lib/main-prog.jar
export PATH=$PATH:$HOME/java/lib
main-prog.jar

Ma devi fare attenzione che il tuo percorso di classe sia corretto ed elencare tutto il vaso richiesto.


Ho provato a esportare CLASSPATH = $ CLASSPATH: <my_new_path>, con <my_new_path> sostituito con il percorso effettivo della cartella, proveniente e sempre con lo stesso risultato.
Davy Kavanagh,

Scusate il mio errore, non è il percorso ma il file .jar con il percorso completo che metti, aggiornerò la risposta
Huygens,

Questo significa che dovrò aggiungere a CLASSPATH, una nuova voce per ogni file jar. Esistono circa 80 di questi file jar.
Davy Kavanagh,

@DavyKavanagh Nota: non aggiungere la variabile d'ambiente a .bashrc, aggiungerla a .profile. Vedi alternativa a .bashrc
Gilles

@DavyKavanagh scusa per il lungo ritardo nella risposta. Ma sì, questo significherebbe aggiungere gli 80 file jar al percorso di classe.
Huygens,

2

Se i tuoi strumenti sono script, che contengono comandi simili

 java -jar somejafile.jar

quindi è necessario modificarli per contenere il percorso corretto

 java -jar /full/path/to/somefile.jar

No, scusate, gli strumenti sono gli stessi file jar
Davy Kavanagh,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.