Запуск jar на Centos?

Сталкиваюсь с проблемой запуска jar файла. Если я нахожусь в директории "/usr/tscripts/" и из этой директории даю команду

java -jar /usr/tscripts/check.jar 

Скрипт отрабатывает хорошо, если я только вошел на ПК и нахожусь в директории "/root" и с этой директории запускаю команду, то нечего не происходит Подозреваю что надо либо переменные среды добавить или как-то в команде указать путь "/usr/tscripts/" как home
Подскажите как правильно запускать скрипт из любой директории?


Ответы (2 шт):

Автор решения: Sergey

как-то в команде указать путь "/usr/tscripts/" как home

Что бы понять, что конкретно происходит, надо войти в окно терминала и выполнить команду:

java -jar /usr/tscripts/check.jar

Вы увидите сообщение об ошибке. Скорее всего, там будет сказано, что "не могу найти ....". Если то, что не удаётся найти, действительно расположено в каталоге /usr/tscripts/, то простейшее решение проблемы таково:

  1. В любом каталоге, который включён в $PATH (например - /usr/bin, ~/bin и т.д.) создаём файл скрипта с произвольным именем. Например p_redator.sh.

  2. В этот файл помещаем три строки:

    #! /bin/bash
    cd /usr/tscripts/
    java -jar ./check.jar
    
  3. Выполняем команду chmod 0755 p_redator.sh

  4. Наслаждаемся жизнью

→ Ссылка
Автор решения: p_redator

Спасибо что не оставили незамеченным, решил проблему следующим образом. Командой

System.getProperty("os.name")

Определяем платформу. Если Windows выше изложенный код работает идеально.

Если Linux то применяем следующее

String path = System.getProperty("java.class.path");

Данная команда на платформе Windows выводит путь к классу что в моей задаче как-бы не требуется. Но на платформе Linux выводит путь/файл.jar Что по сути мне и нужно, ну а как отделить путь от имени файла это уже совсем другая история.

P.S. информацию подчерпнул от сюда

→ Ссылка