La para-respuesta es que no debe descargar tarros a mano, debe usar Gradle, Ivy, Maven, o algo similar para administrar sus tarros para usted. Estas herramientas toman una simple especificación de sus dependencias como entrada, y van a buscar, descargar, almacenar y poner a disposición todos los archivos jar necesarios. Esto lleva un poco de tiempo acostumbrarse, pero es maravilloso una vez que estás al corriente.
Una respuesta directa, sin embargo, es que en el Unix ortodoxo, estos archivos pertenecen a /usr/local/share
. usr
porque son datos de solo lectura que no forman parte del sistema operativo base, local
porque no están siendo suministrados por el sistema operativo (que posee el resto de /usr
) y share
porque los archivos jar son independientes de la arquitectura.
Tenga en cuenta que en FreeBSD, el sistema de administración de paquetes 'ports' pone los archivos en /usr/local
, pero creo que lo comparte con el administrador local. No hay otra ubicación donde vayan los archivos puramente locales.
Si el sistema tiene una convención para donde van los frascos administrados por el paquete, cópielo debajo de /usr/local
. Por ejemplo, en Ubuntu, existe /usr/share/java
, por lo que debe usar /usr/local/share/java
.
Además, si el sistema tiene una convención para manejar versiones, cópielo. De nuevo, en Ubuntu, los archivos jar se almacenan en un directorio, con números de versión en el nombre, pero con un enlace simbólico sin sentido que apunta a la versión predeterminada/última. Entonces, tengo un archivo en /usr/share/java/xstream-1.3.1.jar
, y un enlace simbólico en /usr/share/java/xstream.jar
apuntando a él. Utilizaría el mismo enfoque en /usr/local/share/java
.
Ahora, eso es para unix ortodoxo. Estás en OS X, que no es unix ortodoxo. Aún así, se aplican los principios: encuentre cómo el sistema almacena los archivos jar que proporciona y transpórtalo a un espacio de sistema de archivos administrado por el usuario.
Almacenarlos en /home/USERNAME/.maybeEvenAHiddenFolder. "/ usr /" btw no tiene nada que ver con "usuario", pero en realidad es corto para los recursos del sistema Unix. – Tedil
1. OS X es unix 2. a menos que desee que estos estén instalados para todos los usuarios del sistema, no hay nada de malo en ponerlos en su directorio principal ... – xenoterracide
@xenoterracide: ¡Lo sé! ¡Y he usado ~/Java durante años sin problemas! Mi pregunta era acerca de las convenciones sin embargo. – Behrang