Я пытаюсь запустить файл .jar
при запуске моей машины с Linux (сервер Ubuntu 12.04)
Мой сценарий работает, пока я запускаю его в каталоге, в котором он находится. Если я пытаюсь запустить его вне каталога, я получаю сообщение об ошибке «Не удается получить доступ к jarfile урегулированию.jar». Я полагаю, что у моего другого сценария та же проблема.
Возможно, это ошибка сценария или ошибка прав доступа? Я полностью потерян, и я еще не нашел ничего, чтобы решить проблему. Любая помощь будет приветствоваться.
Щелкните правой кнопкой мыши по файлу и выберите Копировать kbd>.
Теперь, скажем, вы выполняете файл, используя this в каталоге с файлом в:
java -jar ./settask.jar
Введите начало команды (java -jar
) , а затем вставьте - Ctrl kbd> + Shift kbd> + V kbd> - вы должны получить что-то вроде этого, где is указывает полный путь к файлу:
java -jar file:///home/wilf/settask/settask.jar
Удалите file://
и нажмите ↵ kbd>:
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-8
Version=1.0
Name=Unicenta
Comment=Fires up Unicenta oPOS
Type=Application
Path=/usr/bin/unicenta/
Exec=/usr/bin/unicenta/start.sh
Icon=/usr/bin/unicenta/unicentaopos.ico
Чтобы создать стартер, просто CTRL kbd> + ALT kbd> + T kbd > открыть терминал.
Тип cd Desktop
(или Bureaublad, если он голландский) (с учетом регистра)
Тип nano unicenta.desktop
. Скопируйте и вставьте указанный код.
Нажмите CTRL kbd> + O kbd> для сохранения. Закрыть можно нажатием CTRL kbd> + X kbd>. Тип chmod +x unicenta.desktop
.
Готов.
Сообщение, "неспособное к доступу jarfile", вводит в заблуждение. Если Вы вводите jarfile имя неправильно, Вы все еще получаете то же сообщение не "никакой такой файл или каталог". Так, если Вы находитесь в каталоге, где jarfile расположен, во-первых, удостоверьтесь, что Вы ввели имя правильно. Например, у Вас может быть имя jarfile как xxxx.1.jar; Это обычно к igonre.1. и введите его, xxxx.jar; Вы получите "неспособный к доступу jarfile" сообщение, которое, поскольку я упомянул, вводит в заблуждение.