Не удалось получить доступ к файлу jarfile

Я пытаюсь запустить .jar файл при запуске моей машины с Linux (сервер Ubuntu 12.04)

Мой скрипт работает до тех пор, пока я запускаю его внутри каталога, в котором он находится. Если я попытаюсь запустить его вне каталога, я получу сообщение об ошибке "Не удается получить доступ к jarfile settasks.jar ". Я полагаю, что у моего другого скрипта такая же проблема.

Возможно, это ошибка скрипта или ошибка разрешений? Я полностью заблудился и пока не нашел ничего, что могло бы решить эту проблему. Любая помощь будет приветствоваться.

Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок

Щелкните правой кнопкой мыши на файле и выберите Copy.

Теперь предположим, что вы выполняете файл с помощью этот в каталоге с файлом в:

java -jar ./settask.jar

Введите начало команды (java -jar), а затем вставьте -Ctrl +Shift+V - у вас должно получиться что-то вроде этого, где указывается полный путь к файлу:

java -jar file:///home/wilf/settask/settask.jar

Удалите file:// и нажмите :

java -jar /home/wilf/settask/settask.jar

Если это сработает, то та же команда должна работать и в вашем скрипте.

Я надеюсь, что этот ответ в порядке, я думаю, вы спрашиваете о сценариях bash.

N.B:

./ сообщает ему команду для поиска в каталоге, в котором он находится в данный момент.

Имеющийfile:// в начале означает, что это не сработает.

Я столкнулся с Unable to access jarfile при попытке запустите службу Spring Boot SysVinit.

Оказалось, что каталог и содержимое в /srv/myapp/ имел неправильное право собственности.

Бегущий sudo sh -c "chown -R myapp:myapp /srv/myapp/ && chmod -R u=rx,g=,o= /srv/myapp" предоставил всем соответствующим файлам и каталогам правильные права собственности и разрешения.

У меня была такая же проблема. Запускаю его в терминале с ошибкой

Unable to access unicentaopos.jar

Решение более простое, чем сама проблема.

Добавьте к известному стартеру строку Path=/usr/bin/unicenta/и проблема решена.
Папка /unicenta это, конечно, папка, в которой находится программа.

Таким образом, закуска выглядит следующим образом:

[Desktop Entry]Encoding=UTF-8Version=1.0Name=UnicentaComment=Fires up Unicenta oPOSType=ApplicationPath=/usr/bin/unicenta/Exec=/usr/bin/unicenta/start.shIcon=/usr/bin/unicenta/unicentaopos.ico    

Чтобы создать закваску, просто CTRL+ALT+T чтобы открыть терминал.

Тип cd Desktop (или Bureaublad, если он голландский) (с учетом регистра)

Тип nano unicenta.desktop. Скопируйте и вставьте указанный код.

Нажмите CTRL+O чтобы сохранить это. Закрыть можно нажатием CTRL+X. Тип chmod +x unicenta.desktop.

Готов.

Сообщение "невозможно получить доступ к jarfile" вводит в заблуждение. Если вы неправильно введете имя файла jar, вы все равно получите то же сообщение, а не "такого файла или каталога нет". Итак, если вы находитесь в каталоге, в котором находится файл jar, сначала убедитесь, что вы правильно ввели имя. Например, у вас может быть имя файла jar как xxxx.1.jar ; Это обычно для igonre .1. и введите, что это xxxx.jar ; вы получите сообщение "невозможно получить доступ к jarfile", которое, как я уже упоминал, вводит в заблуждение.

Здесь немного неясно. Это постановка задач.jar - другой файл, который вы не перемещали, или это тот, который вы переместили?

Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок