Вопрос
Я создал приложение Java и упаковал его в файл JAR на платформе Windows. Теперь я хочу развернуть этот файл JAR на Debian Linux.
Будет ли тот же файл JAR работать для Debian Linux?
Команда используется в Windows для выполнения файла JAR из командной строки, то же самое для Debain Linux?
т.е.
java -jvm "MyJar.jar"
Будет ли вышеупомянутая команда работать для Debian Linux?
Решение
Да.
Файлы JAR переносны по всем платформам, а синтаксис команды JAR одинаковы как на Linux, так и для Windows.
РЕДАКТИРОВАТЬ: Вы должны использовать последнюю версию Sun Java, если нет очень веская причина не. Инструкция по установке: http://wiki.debian.org/java/sun
Другие советы
Как правило, это должно. Однако это зависит от нескольких условий:
- Если вы используете собственный код (JNI), вы должны убедиться, что нативная библиотека доступна для целевой платформы
- Вы должны убедиться, что у вас нет путей жестких кодировки, которые являются специфическими Windows (на самом деле вы должны даже следить за особыми персонажами, такими как Seperator Path: Vs.;)
- Вы не можете использовать специфический код выполнения времени
1. Будет ли тот же файл JAR работать для Debian Linux?
Да. Отсюда и природа Java (портативный код)
2. Используется ли команда в Windows для выполнения файла JAR из командной строки, то же самое для Debain Linux?
java -jar "myjar.jar"
Да, основная идея Java заключается в том, что она (должна) работать в различных операционных системах, если установлено время выполнения Java.
Хотя я никогда не слышал о флаге -JVM.
Если вы хотите запустить файл JAR, вы должны использовать флаг -JAR.
java -jar "MyJar.jar"
Вы также можете прочитать на Напишите один раз, когда -нибудь бегите где угодно принцип.
Я делаю свою разработку на Mac, но без проблем работаю в средах Linux и Windows. Ключ не для использования JNI, как упоминали все остальные, я бы использовал java -jar "MyJar.jar"
Почти. Использовать:
java -jar "myjar.jar"
И, конечно, вам не следовало использовать ничего подобного JNI или вещей во время выполнения
Да, хотя вы, возможно, захотите сделать, в Linux:
java -jar YourJar.jar
Вместо:
java -jvm YourJar.jar