Почему скрипт .jar
запускается, когда я запускаю его как java -jar myfile.jar
, но он не запускается, когда я выполняю его как ./myfile.jar
Я установил jdk, использующий sudo склонный - получают установку openjdk-7-jdk, и jre, использующие sudo склонный - получают установку openjdk-7-jre, но тем не менее я сталкивался с этой проблемой. Я думал, что это могло бы произойти из-за причины, что моя система не смогла найти путь Java. Наконец, когда я установил оракула jdk7 установщик с помощью следующих команд, тогда я смог выполнить .jar файл с помощью./myfile.jar команду. Я использовал следующие команды для установки его:
склонный sudo add-apt-repository ppa:webupd8team/java
sudo - добирается, обновление
sudo склонный - получают oracle-jdk7-installer
установкиКогда Вы выполняете свое использование банки java -jar myfile.jar
Вы говорите Вашей оболочке работать java
команда и передача его некоторые аргументы, который java
понимает. Однако, когда Вы выполняете его использование ./myfile.jar
Вы просите, чтобы оболочка определила прерыватель для выполнения его с, который это не может сделать.
Оболочка ищет строку хижины вначале к сценарию к известному, с каким приложением запустить скрипт, который является, почему Вы будете видеть, что сценарии оболочки запускаются с:
#!/bin/bash
Или сценарии Python запускаются с
#!/usr/bin/python
Что Вы говорите, что оболочка, в основном, должна запустить скрипт с помощью приложения, Вы находите в /bin/bash
или /usr/bin/python
. В случае Вашего файла банки оболочка не может найти хижину, таким образом, это не знает, как выполнить код.
В прошлом я использовал сценарии обертки для выполнения JAVA-приложений, таким образом, что-то подобное:
#!/bin/bash
java -jar /path/to/myfile.jar
Затем просто необходимо сделать тот исполняемый файл, с помощью chmod
и можно выполнить его, поскольку Вы были бы любой другой сценарий оболочки.