Вопрос

Я создал приложение Java и упаковал его в файл JAR на платформе Windows. Теперь я хочу развернуть этот файл JAR на Debian Linux.

  1. Будет ли тот же файл JAR работать для Debian Linux?

  2. Команда используется в 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top