Куда мне поместить исполняемый jar-файл?

Куда мне поместить исполняемый jar-файл?

Исполняемые файлы (созданная программа и скрипты оболочки) обычно располагаются в /bin или /usr/bin, но что насчет файла jar? Это «программа», заставляющая меня думать, что она должна располагаться в bin, но с другой стороны, для ее запуска требуется скрипт.

У меня есть очень простой скрипт для запуска jar.

java -jar myapp.jar

Но куда мне поместить сам jar-файл?

решение1

Это зависит от вас, я бы не советовал использовать место, предназначенное для хранения общесистемных двоичных файлов. Хотя вы можете поместить его в /usr/local/binили любое другое предназначенное место для хранения общесистемных двоичных файлов, но поскольку это не обычный двоичный файл, вам лучше поместить его в другое место. Ваш домашний каталог также может быть хорошим местом.

На самом деле неважно, куда вы это поместите, главное, чтобы вы использовали полный путь для вызова:

java -jar /path/to/myapp.jar

Если же вы хотите поместить его куда-нибудь в свой PATH, вы можете добавить путь к каталогу, содержащему файл, в PATH(поместить его в ~/.bashrc):

export PATH=$PATH:/path/to/directory

Убедитесь, что каталог не содержит ничего другого (иначе он станет отличным местом для запуска случайных вредоносных команд!!).

Теперь вы также можете создать псевдоним команды, например:

alias myapp='java -jar /path/to/myapp.jar'

вставьте его в ~/.bash_aliases. Теперь вы можете запустить приложение, просто набрав:

myapp

решение2

Нет определенного места, которое вы 'должен' храните свои исполняемые jar-файлы в. Это основано исключительно на предпочтениях пользователя. Я обнаружил, что хранение исполняемых jar-файлов на рабочем столе работает лучше всего, так как мне не нужно постоянно перемещаться по файловой системе, чтобы использовать их, что иногда может потеряться, если у вас не самая лучшая память.

Также небольшое замечание, если вы установите Java 8, то вы сможете использовать Oracles Java 8 Runtime, так что вы можете просто дважды щелкнуть по jar.
Надеюсь, я помог решить вашу дилемму.

Связанный контент