La para-risposta è che non dovresti scaricare i vasi a mano affatto, dovresti usare Gradle, Ivy, Maven, o qualcosa di simile per gestire i tuoi vasi per te. Questi strumenti prendono una semplice specifica delle dipendenze come input e vanno a cercare, scaricare, memorizzare e rendere disponibili tutti i file jar necessari. Ci vuole un po 'per abituarsi, ma sono piuttosto meravigliosi una volta che ci si sta muovendo.
Una risposta diretta, tuttavia, è che su unix ortodosso, questi file appartengono a /usr/local/share
. usr
perché sono dati di sola lettura che non fanno parte del sistema operativo di base, local
perché non vengono forniti dal sistema operativo (che possiede il resto di /usr
) e share
perché i file jar sono indipendenti dall'architettura.
Si noti che su FreeBSD, il sistema di gestione dei pacchetti 'ports' mette i file in /usr/local
, ma credo che lo condivida con l'amministratore locale. Non c'è un altro luogo in cui andare file puramente locali.
Se il sistema dispone di una convenzione per i contenitori in cui è gestito il pacchetto, copiarlo sotto /usr/local
. Ad esempio, su Ubuntu, c'è /usr/share/java
, quindi dovresti usare /usr/local/share/java
.
Inoltre, se il sistema ha una convenzione per la gestione delle versioni, copiarlo. Ancora una volta, su Ubuntu, i giare sono tutti memorizzati in una directory, con i numeri di versione nel nome, ma con un collegamento simbolico senza versione che punta alla versione predefinita/più recente. Quindi, ho un file a /usr/share/java/xstream-1.3.1.jar
e un link simbolico a /usr/share/java/xstream.jar
che punta ad esso. Userei lo stesso approccio in /usr/local/share/java
.
Ora, questo è per unix ortodosso. Sei su OS X, che non è unix ortodosso. Tuttavia, i principi si applicano: trova in che modo il sistema memorizza i jar forniti e lo traspone in uno spazio del filesystem gestito dall'utente.
Memorizzarli in /home/USERNAME/.maybeEvenAHiddenFolder. "/ usr /" btw non ha nulla a che fare con "utente" ma in realtà è un abbreviazione di risorse di sistema unix. – Tedil
1. OS X è un unix 2. A meno che non si voglia installarli per tutti gli utenti nel sistema, non c'è niente di sbagliato nel metterli nella propria directory home .. – xenoterracide
@xenoterracide: lo so! E ho usato ~/Java per anni senza problemi! La mia domanda riguardava le convenzioni però. – Behrang