запустить jarfile в sh скрипте - по какому пути? - PullRequest
0 голосов
/ 24 марта 2020

Итак, я сделал это простое java приложение, которое я хочу запустить простым двойным щелчком мыши, которое открывает мой терминал и запускает код на Ma c.

Я написал простой старт . sh скрипт вроде этого

#!/bin/sh
java -jar monkeykingApplication.jar

Но это дает мне и ошибку, потому что банку не найти. Так какой путь мне нужно установить, если запустить мой скрипт start. sh в той же папке, где находится мой jar-файл?

1 Ответ

0 голосов
/ 24 марта 2020

Ваш пример использует sh в качестве оболочки, но вы помечаете свой вопрос как bash, поэтому я позволю себе предложить решение bash:

Поскольку вы поставляем ваш jar вместе со стартовым скриптом bash, я бы потребовал, чтобы стартовый скрипт и jar были установлены пользователем в одном каталоге. В своем стартовом скрипте вы можете найти свое собственное местоположение и использовать эту информацию, чтобы найти банку. Как найти это место, уже обсуждалось здесь . Используя один из ответов на этой странице, вы можете сделать следующее:

#!/bin/bash
# Find your own location
install_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
# Invoke the jar
java -jar "$install_dir/monkeykingApplication.jar"

Скорее всего, пользователь добавит каталог стартового скрипта в свою переменную PATH, но это его / ее собственное решение, и вам не нужно заботиться об этом.

...