Запуск jar на Centos?
Сталкиваюсь с проблемой запуска jar файла. Если я нахожусь в директории "/usr/tscripts/" и из этой директории даю команду
java -jar /usr/tscripts/check.jar
Скрипт отрабатывает хорошо, если я только вошел на ПК и нахожусь в директории "/root"
и с этой директории запускаю команду, то нечего не происходит
Подозреваю что надо либо переменные среды добавить или как-то в команде указать путь "/usr/tscripts/" как home
Подскажите как правильно запускать скрипт из любой директории?
Ответы (2 шт):
как-то в команде указать путь "/usr/tscripts/" как home
Что бы понять, что конкретно происходит, надо войти в окно терминала и выполнить команду:
java -jar /usr/tscripts/check.jar
Вы увидите сообщение об ошибке. Скорее всего, там будет сказано, что "не могу найти ....". Если то, что не удаётся найти, действительно расположено в каталоге /usr/tscripts/, то простейшее решение проблемы таково:
В любом каталоге, который включён в $PATH (например - /usr/bin, ~/bin и т.д.) создаём файл скрипта с произвольным именем. Например p_redator.sh.
В этот файл помещаем три строки:
#! /bin/bash cd /usr/tscripts/ java -jar ./check.jarВыполняем команду chmod 0755 p_redator.sh
Наслаждаемся жизнью
Спасибо что не оставили незамеченным, решил проблему следующим образом. Командой
System.getProperty("os.name")
Определяем платформу. Если Windows выше изложенный код работает идеально.
Если Linux то применяем следующее
String path = System.getProperty("java.class.path");
Данная команда на платформе Windows выводит путь к классу что в моей задаче как-бы не требуется.
Но на платформе Linux выводит путь/файл.jar
Что по сути мне и нужно, ну а как отделить путь от имени файла это уже совсем другая история.
P.S. информацию подчерпнул от сюда