Как открыть .jar написанный с помощью jdk 12 - PullRequest
0 голосов
/ 10 июня 2019

Я пишу Java-приложение, используя JDK 12.
Начиная с Java 11, Oracle не предоставляет JRE. Итак, JDK 11 и JDK 12 не имеют Java Runtime Envirnoment.

Как мне выполнить jar, написанный с использованием jdk 11 или jdk 12?

Я пытался использовать jre 8, и он работает.

Как можно открыть файл jar, написанный с использованием jdk 12 с jre 8? Я читал в Интернете, что из Java 11 внутри jar-файлов есть немного jre. Но мне все равно нужна Java 8 для их открытия?

1 Ответ

2 голосов
/ 10 июня 2019

В Java 11 и Java 12 JDK есть все необходимое для запуска упакованного файла JAR. Предполагая, что ваша установка правильная и у вас есть правильные переменные среды, просто выполните:

java -jar <jar_file>

должно работать правильно для вас. Предоставленные JDK в настоящее время не имеют определенной папки jre, как это было в прошлом, но это не означает, что они не предоставляют ничего необходимого для запуска приложения Java. Просто взгляните на папку bin, чтобы узнать больше.

Теперь о вашем втором вопросе. Можно ли запустить приложение Java, которое было скомпилировано с более новой версией, используя более старую версию jre. Ну, ответ - это зависит. Обычно выполнение байт-кода, созданного из более нового jdk, против более старого jre приведет к ошибкам совместимости классов. Это можно обойти, скомпилировав ваше приложение в режиме совместимости (скорее всего, в вашем случае).

Итак, подведем итоги. Идите дальше и установите правильную версию Java (в идеале ту, с которой вы разрабатываете и планируете развернуть). Правильно настройте свою среду, и у вас не возникнет проблем с выполнением каких-либо действий.

...