Как лучше всего сохранить файлы jar библиотек, которые я хочу использовать в проекте, которых нет в каких-либо репозиториях, и как мне устанавливать разрешения?
Должен ли я поместить их в / usr / share / java, или лучше хранить их где-нибудь в моей домашней папке?
Какие права доступа будут наиболее полезными? Имеет ли смысл следовать соглашению в / usr / share / java о создании символической ссылки с именем пакета на конкретную версию jar и следовать разрешениям, используемым там?
Определенно лучше не допускать «локальных» изменений за пределами зоны распространения. Когда вам потребуется выполнить обновление позже, ваши изменения не будут удалены или обновление не будет выполнено из-за ошибочного файла. Вам просто нужно изменить переменную среды CLASSPATH, чтобы включить файлы jar в ваш домашний каталог.
Так как вы указываете свой домашний каталог, я предполагаю, что это личный проект, а не тот, который где-то будет опубликован. Если это проект, который будет опубликован, то в дистрибутиве проекта должен быть каталог с именем lib. например, /usr/local/xyzzy/lib/*.jar (для проекта 'xyzzy').
Если все пользователи вашей системы не нуждаются в доступе к файлам, вы можете поместить их в свою домашнюю папку или, что еще лучше, в папку bin (создайте ее, если она еще не сделана) в вашей домашней папке. Таким образом, у вас есть личный каталог bin, доступ к которому можно получить с терминала без указания расширения файла или программы для открытия файла.
Например,
my-app
заставит терминал запускать my-app.any_possible_extension с соответствующей программой (в данном случае Java или Openjdk от Sun). Если вы создаете папку bin, вам необходимо выйти из системы и снова войти в нее, чтобы система распознала новую папку bin. Кроме того, файлы в личной папке bin должны быть установлены как исполняемые, в противном случае терминал будет игнорировать файл.