Возможно ли запустить файл JAR на любой ОС? - PullRequest
3 голосов
/ 19 мая 2010

Возможно ли выполнить файл JAR в любой ОС (например, Windows, Linux, Mac OS X)?Я хочу создать простое приложение, которое хочу запускать в Linux, Windows и Mac OS X. Может ли файл JAR быть запущен на любой ОС с установленной java?

Ответы [ 5 ]

10 голосов
/ 19 мая 2010

Файлы Jar запускаются в любой ОС, для которой существует JVM.

9 голосов
/ 19 мая 2010

Да, если вы не используете нативные библиотеки (JNI), это то, как работает Java. Это не зависит от платформы.

6 голосов
/ 19 мая 2010

Как уже говорилось, до тех пор, пока у вас установлена ​​Java и вы не используете нативный код, у вас все получится. Следует отметить, что обычно вы можете запустить JAR-файл, просто дважды щелкнув по нему, и он открывается как собственный исполняемый файл (в Windows это работает по умолчанию, в других ОС вы можете настроить это поведение).

Такие JAR-файлы называются исполняемыми JAR-файлами. Если вы хотите создать исполняемый файл JAR, то вам нужно добавить файл манифеста, который сообщает виртуальной машине Java (JVM) имя основного класса. Исполняемые файлы JAR также можно запустить из командной строки, выполнив:

java -jar myprogram.jar

Если ваш JAR не является исполняемым JAR, то для запуска вашей программы вы должны добавить JAR в ваш путь к классам, а затем выполнить основной класс. Чтобы добавить JAR в путь к классам:

java -classpath path/to/your/program.jar com.mypackage.Main
4 голосов
/ 19 мая 2010

JAR-файлы предназначены для запуска в любой ОС, в которой установлена ​​JVM совместимой версии. Однако некоторые jar-файлы могут быть скомпилированы из кода Java, в котором используется специфичный для ОС код (например, общение с реестрами Windows), поэтому тестирование на других ОС целесообразно.

0 голосов
/ 01 мая 2017

Да, он может работать, пока он не портится из терминала или командной строки (например, java -jar name.jar.), Он должен работать просто отлично.

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