Пара-ответ заключается в том, что вам не нужно скачивать банки вручную, вам следует использовать Gradle , Ivy , Maven или нечто подобное, чтобы управлять своими банками для вас. Эти инструменты принимают простую спецификацию ваших зависимостей в качестве входных данных и идут и находят, скачивают, хранят и делают доступными все необходимые файлы JAR. Это требует некоторого привыкания, но довольно замечательно, когда вы в этом разбираетесь.
Прямой ответ, однако, заключается в том, что на ортодоксальном Unix эти файлы принадлежат /usr/local/share
. usr
потому что это данные только для чтения, которые не являются частью базовой операционной системы, local
, потому что они не предоставляются операционной системой (которой принадлежит остальная часть /usr
), и share
потому что JAR-файлы не зависят от архитектуры.
Обратите внимание, что во FreeBSD система управления пакетами 'ports' помещает файлы в /usr/local
, но я полагаю, что делится ими с локальным администратором. Нет другого места, куда попадают чисто локальные файлы.
Если в системе есть соглашение о том, куда идут файлы, управляемые пакетами, скопируйте это в /usr/local
. Например, в Ubuntu есть /usr/share/java
, поэтому вы должны использовать /usr/local/share/java
.
Кроме того, если в системе существует соглашение об обработке версий, скопируйте его. Опять же, в Ubuntu все файлы jar хранятся в одном каталоге с номерами версий в имени, но с символической ссылкой без версии, указывающей на версию по умолчанию / последнюю версию. Итак, у меня есть файл на /usr/share/java/xstream-1.3.1.jar
и символическая ссылка на /usr/share/java/xstream.jar
, указывающая на него. Я бы использовал тот же подход в /usr/local/share/java
.
Так вот, это для православного юникса. Вы на OS X, который не является ортодоксальным Unix. Тем не менее, применяются следующие принципы: найдите, как система хранит предоставляемые ею файлы jar, и перенесите это в пространство файловой системы, управляемой пользователем.