2009-11-07 3 views
3

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

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

  2. Это команда, используемая в Windows для выполнения файла jar из командной строки, то же самое для Debain Linux?

т.е.

java -jvm "MyJar.jar" 

Будет выше команда работать на Debian Linux?

+1

Это 'ява -jar "myJar.jar"' – notnoop

ответ

6

Да.

Файлы Jar переносятся на разных платформах, а синтаксис команды jar одинаковый для Linux и Windows.


EDIT: Вы должны использовать последнюю версию Sun Java, если не является очень хорошая причина, чтобы не. Инструкция по монтажу: http://wiki.debian.org/Java/Sun

2

Да, основная идея java заключается в том, что она должна работать в разных операционных системах, если установлена ​​среда Java.

хотя я никогда не слышал о флагом -jvm.

Если вы хотите запустить файл jar, вы должны использовать флаг -jar.

java -jar "MyJar.jar" 

вы также можете прочитать на принципе Write once run anywhere.

1

Практически. Использование:

Java -jar «myJar.jar»

И, конечно, вы не должны были использовать ничего такого JNI или во время выполнения вещи

1

Да, хотя вы можете сделать в Linux:

java -jar YourJar.jar 

Вместо:

java -jvm YourJar.jar 
6

Как правило, это должно быть. Однако это зависит от нескольких условий:

  • Если вы используете машинный код (JNI), вы должны убедиться в том, что родная библиотека доступна для целевой платформы
  • Вы должны убедиться, что у вас нет пути зашиты, которые являются Окна конкретных (на самом деле вы должны даже смотреть на специальные символы, такие как Путь разделителя: против;)
  • вы не можете использовать файлы среды выполнения конкретного кода
+0

+1 Я видел много Java приложения, написанные и протестированы только на Windows сильно падает на машине Mac или Linux. WORA - это цель для работы, а не доказательство против небрежно написанного программного обеспечения. –

+0

Поведение программы Java внутри файла jar находится за пределами того, что задал плакат (но, скорее всего, это будет иметь отношение очень скоро после фактического запуска java-команды в системе) –

2

Я делаю свое развитие на макинтош, но работать в Linux и окна без проблем.Ключ не использовать JNI, так как все остальные упоминали, я бы использовал java -jar "MyJar.jar"

4

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

Да. Таким образом, природа Java (переносимый код)

2. Является ли команда, используемые в окнах для выполнения .jar файл из командной строки, то же самое для Debain Linux?

Java -jar "myJar.jar"

Смежные вопросы