Получить Java 11 для MacOS?

4

Я знаю, что в последние годы темп разработки Java изменился, стал более быстрым и более предсказуемым. Были объявлены новые планы относительно регулярных выпусков долгосрочной поддержки (LTS). И я слышал, что Oracle изменила свои условия лицензирования для своих версий под брендом Oracle.

Все это привело меня в замешательство относительно того, как и где я могу получить Java 11 или более позднюю версию для моего Mac. Может кто-нибудь дать общий обзор моих вариантов?

Базилик Бурк
источник

Ответы:

7

ТЛ; др

Если вы конечный пользователь, которому нужна бесплатная JVM для запуска Java-приложения на вашем Mac (а не разработчик ), моя личная рекомендация - загрузить .DMG( файл образа диска Apple ) из Azul Systems для их Zuluреализации. Java JDK . По желанию, они предоставляют поддержку за плату.

https://www.azul.com/downloads/zulu/

Затем вы найдете JVM, установленную в /Library/Java/JavaVirtualMachines. Позже вы можете выполнить обновление таким же образом, удалив старую JVM из этой папки.

подробности

Да, в последние годы в эволюцию Java было внесено несколько серьезных изменений, и они могут быть немного запутанными.

Несколько поставщиков, как бесплатных, так и платных

Во-первых, знайте, что для желающих заплатить за коммерчески поддерживаемые реализации Java доступны новые опции. И знайте, что Java по-прежнему доступна бесплатно без каких-либо затрат. Как для краткого изложения, так и для подробностей, прочитайте этот официальный документ, опубликованный основными фигурами в сообществе Java : Java все еще бесплатна

OpenJDK

Во-вторых, знайте, что все выпуски для Java 11 и более поздних версий для macOS основаны на одной и той же кодовой базе, проекте с открытым исходным кодом, известном как OpenJDK .

Apple вносит в этот проект специфичный для Mac код, и у него есть персонал, работающий над этим, чтобы убедиться, что Java продолжает хорошо работать на macOS.

IBM, Oracle и многие другие компании также внесли свой вклад в разработку кода и тестирование. Oracle недавно объявила о своем намерении достичь функционального паритета между собственными выпусками Java под маркой Oracle и продуктом OpenJDK; это даже включало пожертвование некоторых их ранее коммерческих инструментов, таких как Flight Recorder, для OpenJDK.

В результате вы должны увидеть очень похожее поведение и функции в различных источниках Java для macOS.

JVM, встроенная в настольные приложения

Если вы делаете настольные приложения для локального запуска на Mac или другом компьютере, вы можете продолжать делать это и продолжать использовать Swing и / или JavaFX как всегда. Но доставка вашего приложения изменится.

Технологии Java Applet и Java Web Start постепенно сокращаются. Oracle больше не будет поощрять конечных пользователей устанавливать JVM самостоятельно. Вместо этого Oracle рекомендует создавать ваше приложение в виде отдельного исполняемого файла с JVM, встроенным в него. Обычно это делается на Mac, особенно если вы поставляете приложение через Apple App Store . Этот подход является новым нормой, который должен быть реализован на всех платформах, включая macOS, Windows, Linux и т. Д. Новаятехнология Java Modularization , начавшаяся с Java 9, включаяинструменты jlink и jpackage , упрощает, как никогда ранее , объединение размер JVM с вашим приложением.

Для получения дополнительной информации см. Технический документ Обновление карты клиента Java от 2018-03.

Таким образом, в целях связывания с вашим приложением вам нужно будет учитывать права на перераспределение / развертывание при выборе поставщика и продукта JVM.

Выбор продавца

Некоторые основные поставщики Java для Java 11 и более поздних версий:

  • Azul Systems
    Предлагая две линейки продуктов, Zulu, основанный непосредственно на OpenJDK с возможными изменениями, и Zing специально усовершенствованную версию платформы Java.
  • Oracle
    Предлагает собственный коммерческий продукт Oracle JDK и довольно похожий бесплатный и лицензированный по лицензии GPL jdk.java.net .
  • AdoptOpenJDK.net
    Предлагает бесплатные сборки Java на основе OpenJDK. Выберите между обычным движком HotSpot (компилятор и оптимизатор точно в срок) или движком OpenJ9 от Eclipse (ранее от IBM).

Вот диаграмма-схема, которая может помочь при принятии решений. Этот график не обязательно является полным или точным. Это просто, чтобы помочь вам ориентироваться. Вы должны изучить ваши варианты.

блок-схема поиска и выбора поставщика Java для macOS

Базилик Бурк
источник
1
Скажем, я непрофессионал, который просто хочет запустить случайный файл .jar, который он нашел в интернете. В целях безопасности я бы хотел запустить последнюю версию Java. Следуя вашей блок-схеме, похоже, мне нужно узнать о «модульности Java, jlink и jpackage», которая уже выходит за рамки моей лиги. Что мне нужно скачать?
Wowfunhappy
1
@Wowfunhappy Я уже упоминал, что Oracle больше не поощряет конечных пользователей непосредственно устанавливать Java на своем компьютере. Но вы можете скачать JDK, который является JRE плюс некоторые инструменты разработчика. Короче говоря: я рекомендую вам скачать Zulu , в частности .DMG([файл образа диска Apple]) для монтирования на вашем Mac, внутри которого вы найдете установщик для запуска. После этого у вас будет установлена ​​JVM /Library/Java/JavaVirtualMachines. Позже вы можете выполнить обновление таким же образом, удалив старую JVM из этой папки. Я делаю это сам.
Василий Бурк
@Wowfunhappy Я добавил tl;drраздел с этой же личной рекомендацией.
Василий Бурк
2

Если вы хотите иметь простейшую жизнь, установите homebrew, а затем установите Java с brew cask install java.

(Это будет комментарий, но у меня нет представителя).

Исаак Хор
источник
Мне кажется, это правильный ответ, а не комментарий. Не решение, которое я бы выбрал, но, тем не менее, действительно.
Базилик Бурк