Ма c ОС не может запустить .Jar файл - PullRequest
0 голосов
/ 24 апреля 2020

Итак, я писал этот маленький код, и он работает - но мне нужно набирать Computer;~ User$ java MyProject целиком и каждый раз менять путь, поэтому я решил вставить его в файл .jar (так Я мог бы просто запустить его по двойному щелчку). Я являюсь пользователем Intellij по работе с macos. Я создал файл File/Project Structure/artifacts/+/myMain et c и теперь у меня на рабочем столе есть файл .jar. Когда я запускаю банку внутри Intellij или запускаю банку, используя

java -jar /Users/Me/Desktop/MyProject/out/artifacts/MyProject_jar/MyProject.jar, она работает нормально.

Однако, когда я:

  • Запустите его из терминала с помощью java -jar MyProject.jar Я получу Error: Unable to access jarfile MyProject.jar ^^ Разрешено - с помощью команды chmod 755 MyProject.jar, подробности см. В комментарии

  • Или запустить его правой кнопкой мыши с помощью Jar Launcher, я получаю The Java JAR file "MyProject.jar" could not be launched. Check the Console for possible error messages. В консоли нет сообщений об ошибках.

И прежде чем кто-либо скажет у меня Java 13, и проект работает на Java 13 - это мой компьютер по умолчанию, и он обновлялся автоматически с момента установки.

Как я смогу запустить этот файл, и что может помешать ему это сделать?

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 25 апреля 2020

в терминале, выполните

ls -l MyProject.jar

Вы увидите что-то вроде:

-rw-r--r-- 1 youruser yourgroup 1024 Apr 24 15:41 MyProject.jar

-rw-r - r-- часть это права доступа к файлу, где «r» означает читаемый, «w» означает доступный для записи, а «x» означает исполняемый файл, но, как вы можете видеть, его там нет. Не вдаваясь в подробное объяснение, используйте команду chmod, чтобы сделать файл исполняемым, выполнив

chmod 755 MyProject.jar

. Затем используйте ту же команду ls, и вы должны увидеть -rwxr-xr-x в поле прав доступа. Файл теперь исполняемый (кем угодно) и должен запускаться, если вы нажмете в Finder.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...