Openjdk runtime environment это

Обновлено: 06.07.2024

Начиная с версий Visual Studio 15.9 и Visual Studio для Mac 7.7 решение "Инструменты Visual Studio для Xamarin" более не использует пакет JDK от Oracle и перешло на облегченную версию OpenJDK, предназначенную исключительно для разработки на Android. Это обязательная миграция, так как Oracle прекращает поддержку коммерческих дистрибутивов JDK 8 в 2019 г., а JDK 8 является обязательной зависимостью для разработки приложений Android.

Такой переход предлагает следующие преимущества:

У вас всегда будет версия OpenJDK, которая подходит для разработки приложений Android.

Скачивание JDK 9 или более поздней версии от Oracle не повлияет на интерфейс разработки.

Уменьшены размер скачиваемого файла и объем занимаемой памяти.

Отсутствие потенциальных проблем со сторонними серверами и установщиками.

Если вы хотите быстрее перейти на обновленную версию, доступны сборки OpenJDK от Майкрософт для разработки мобильных приложений, которые вы можете опробовать на Windows и Mac. Процесс установки описан ниже. Вернуться на JDK от Oracle можно в любое время.

Дистрибутив OpenJDK для мобильных приложений установится автоматически, если вы выберете пакеты SDK для Android в Visual Studio Installer в Windows.

На Mac пакет OpenJDK для мобильных приложений будет установлен в рамках рабочей нагрузки Android для новых установок. Существующие пользователи Visual Studio для Mac получат приглашение установить его в составе обновления. Среда IDE предложит вам перейти на новый пакет JDK и станет использовать его после перезапуска.

Устранение неполадок

Если возникли проблемы с установкой на Mac или Windows, вы можете выполнить установку вручную.

Для этого проверьте, установлен ли пакет OpenJDK на компьютере в правильном расположении:

  • Mac — $HOME/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_1.8.0.x
  • Windows – C:\Program Files\Android\jdk\microsoft_dist_openjdk_1.8.0.x

Укажите в IDE новый пакет JDK:

  • Mac – щелкните Tools > SDK Manager > Locations (Инструменты > Диспетчер пакетов SDK > Расположения) и в поле Java SDK (JDK) Location (Расположение пакета SDK для Java) укажите полный путь установки OpenJDK. В следующем примере указан такой путь: $HOME/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_1.8.0.9. У вас может быть установлена более новая версия.

Настройка пути к пакету JDK под дистрибутив OpenJDK от Майкрософт для разработки мобильных приложений на Mac.

  • Windows – щелкните Инструменты > Параметры > Xamarin > Параметры Android и в поле Расположение пакета Java Development Kit укажите полный путь установки OpenJDK. В следующем примере указан такой путь: C:\Program Files\Android\jdk\microsoft_dist_openjdk_1.8.0.9. У вас может быть установлена более новая версия.

Настройка пути к пакету JDK под дистрибутив OpenJDK от Майкрософт для разработки мобильных приложений в ОС Windows.

Известные проблемы

Не удалось установить пакет "OpenJDKV1.RegKey,version=1.8.0.25,chip=x64".

Возможно, возникла проблема в некоторых корпоративных средах. Пакет OpenJDK уже установлен на компьютере. Следуйте шагам по устранению неполадок выше, чтобы указать в IDE правильное расположение. Следить за состоянием проблем можно здесь.

Сводка

В этой статье вы узнали, как настроить в IDE использование дистрибутива OpenJDK от Майкрософт для разработки мобильных приложений и как устранять неполадки.

OpenJDK — проект по созданию полностью совместимого Java Development Kit, состоящего исключительно из свободного и открытого исходного кода.

Содержание

История

Обещание Sun и первый релиз

Компания Sun Microsystems на конференции JavaOne 2006 объявила, что Java станет свободным ПО [Источник 1] .

Sun опубликовала виртуальную машину HotSpot и компилятор Java в виде СПО под лицензией GPL 13 ноября 2006 с обещанием, что остальные компоненты JDK (которые включают Java Runtime Environment) будут размещены под лицензией GNU GPL до марта 2007 «за исключением некоторых компонентов, которые Sun не имеет права публиковать в виде исходников под GPL». [Источник 2] Согласно защитнику свободного ПО Ричарду Столлману это положит конец «ловушке Java» для интеграторов, использующих Java, и программистов, пишущих на Java. [Источник 3] . Крупный представитель рынка СПО Марк Шаттлворт назвал исходное объявление в прессе «Настоящей вехой для сообщества СПО» [Источник 4] ..

Публикация библиотеки классов

Следом за обещанием выпустить Java Development Kit (JDK), почти полностью основанным на свободном и открытом коде в первой половине 2007, Sun опубликовала полные исходные коды библиотеки классов Java под GPL 8 мая 2007, за исключением некоторых частей, ограниченных третьей стороной, и исключающих условия GPL. В списке среди обремененных частей были несколько важных компонентов Java по графическому интерфейсу (GUI). Sun заявила, что планирует заменить оставшиеся собственнические компоненты альтернативными реализациями и сделать библиотеку классов полностью свободной.

Улучшения сообщества

5 ноября 2007 компания Red Hat заключила соглашение с Sun, подписав обширное соглашение участника проекта (которое охватывает участие разработчиков Red Hat во всех руководимых Sun свободных и открытых проектах) и лицензию сообщества OpenJDK (которая дает доступ компании к тестовым программным пакетам, определяющим, соответствует ли проект OpenJDK спецификациям Java SE 6). [Источник 5] .

Также в ноябре 2007 в OpenJDK была создана Porters Group для оказания помощи в портировании (адаптации) OpenJDK на различные процессорные архитектуры и операционные системы. Проект портирования BSD, возглавляемый Куртом Миллером и Грегом Льюисом, и проект портирования на Mac OS X (основанный также на BSD), руководимый Лэндоном Фуллером , имели повышенный интерес во включении OpenJDK посредством Porters Group, и с января 2008 является частью списка почтовых рассылок.

В декабре 2007 Sun перевела контроль версий OpenJDK с TeamWare на Mercurial как часть процесса перевода на открытые средства разработки. Mercurial поддерживается OpenJDK и на текущий момент.

OpenJDK имеет сравнительно строгие процедуры принятия изменений кода: каждое предполагаемое изменение должно быть рассмотрено двумя инженерами Sun/Oracle, а участник должен предварительно подписать Соглашение Участника Sun/Oracle (SCA/OCA).

Сотрудничество с IBM, Apple и SAP

11 октября 2010 IBM и Oracle объявили о совместном сотрудничестве в дальнейшей разработке OpenJDK. 12 ноября 2010 г. Apple Inc. и Oracle Corporation объявили о проекте OpenJDK для Mac OS X. Apple внесет большую часть ключевых компонентов, инструментов и технологий, необходимых для реализации Java SE 7 в Mac OS X, включая 32-битную и 64-битную виртуальную машину Java на основе HotSpot, библиотеки классов, сетевой стек и основу для нового графического клиента [Источник 7] .

Проекты OpenJDK

Существует несколько отдельных проектов OpenJDK:

  • Проект OpenJDK 9, который является основой для JDK 9.
  • Проект OpenJDK 8, который является основой для JDK 8, был выпущен 18 марта 2014 года.
  • Проект OpenJDK 8u, основанный на JDK 8, и производит обновления для существующих выпусков Java 8.
  • Проект OpenJDK 7u, основанный на JDK 7, и производит обновления для существующих выпусков Java 7.
  • Проект OpenJDK 6, основанный на JDK 7, модифицирован для обеспечения версии Java 6 с открытым исходным кодом.

Компоненты

Проект OpenJDK создает ряд компонентов: главное - виртуальная машина (HotSpot), библиотека классов Java и компилятор Java (javac).

Плагин веб-браузера и Java Web Start, входящие в состав Oracle Java, не включены в OpenJDK. Sun ранее указала, что они попытаются совместить с открытым исходным кодом эти компоненты, но ни Sun, ни Oracle не сделали этого. [Источник 8] . Единственными доступными в настоящее время бесплатными плагинами и реализацией Web Start с 2016 года являются те, которые предоставляются IcedTea.

IcedTea и другое участвующее ПО

Чтобы объединить OpenJDK в Fedora и другие свободные дистрибутивы GNU / Linux, OpenJDK должен был быть работоспособным, используя только бесплатные программные компоненты. Из-за не свободных компонентов в библиотеке классов и предположений о том, что в системе сборки присутствует JDK от компании Sun, объединения не получилось. Чтобы достичь открытости, Red Hat начала проект IcedTea в июне 2007 года. Он начал жизнь как гибрид классов OpenJDK / GNU, который можно было использовать для загрузки OpenJDK, заменив не свободный код кодом из GNU Classpath. [Источник 9]

5 ноября 2007 года Red Hat подписал соглашение Sun Contributor и лицензию TCK сообщества OpenJDK [13]. Одно из первых преимуществ этого соглашения - более тесное согласование с проектом IcedTea, который объединяет Fedora, дистрибутив Linux и JBoss, сервер приложений, технологии в среде Linux. IcedTea предоставила бесплатные альтернативы программным средствам для немногих оставшихся проприетарных разделов в проекте OpenJDK.

В мае 2008 года дистрибутивы Fedora 9 и Ubuntu 8.04 включали IcedTea 6, полностью основанную на свободном и открытом исходном коде. Fedora 9 была первой версией, поставляемой с IcedTea6, основанной на OpenJDK 6, а не OpenJDK 7. Ubuntu также впервые упаковала IcedTea 7, а затем перешла на IcedTea 6. Пакеты для IcedTea 6 также были созданы для Debian и включены в lenny. 12 июля 2008 года Debian принял OpenJDK-6 в нестабильном режиме, и теперь он стабилен. OpenJDK также доступен на OpenSUSE, Red Hat Enterprise Linux и RHEL производных, таких как CentOS. [Источник 10]

В июне 2008 года Red Hat объявила, что упакованные двоичные файлы для OpenJDK на Fedora 9, построенные с использованием IcedTea 6, прошли тесты на совместимость с технологической совместимостью и могут претендовать на полномасштабную реализацию на Java 6. В июле 2009 года бинарная сборка IcedTea 6 для Ubuntu 9.04 прошла все тесты на совместимость в Java SE 6 TCK. [Источник 11]

С августа 2008 года OpenJDK 7 можно использовать в Mac OS X и других вариантах BSD.

В Android Nougat OpenJDK заменяет теперь отмененный Apache Harmony в качестве библиотек Java в исходном коде мобильной операционной системы. Google находится в постоянном правовом споре с Oracle по искам о нарушении авторских прав и патентов путем использования повторных внедрений защищенных авторским правом API Java через Harmony.

В сентябре 2016 года сотрудник Oracle планировал добавить компиляцию AOT в OpenJDK с помощью компилятора Graal [Источник 12] .

Доступность

Поддерживаемые версии JDK

OpenJDK изначально основывался только на JDK 7.

15 февраля 2008 года OpenJDK разделился на два проекта:

  • OpenJDK, который базируется на JDK 7.
  • JDK 6, которая обеспечивается свободной версией Java 6.

Все версии OpenJDK (6, 7, 8, 9) имеют единую кодовую базу. То есть, mercurial-репозитории для новых версий OpenJDK создаются из предыдущих. Основная разработка ведется в версии OpenJDK, которая готовится к релизу. В частности, в 2011-2013 годах основная разработка велась в OpenJDK 8, а в 2014-2016 годах — в OpenJDK 9. Таким образом, разработка новых библиотек и подсистем ведется в версии, которая только готовится к релизу и после интеграции в основной репозитории, портируется в более ранние версии.

Компилятор и виртуальная машина

Компилятор Java и виртуальная машина HotSpot доступны под лицензией GPL.

Включение в дистрибутивы Linux

В июне 2008 года был анонсирован проект IcedTea (пакетная версия OpenJDK в Fedora 9), который прошёл TCK и теперь может претендовать на звание реализации, полностью совместимой с Java 6.

12 июля 2008 года OpenJDK был принят в нестабильную ветку Debian.

В июле 2009 года бинарная сборка OpenJDK для Ubuntu 9.04 прошла все испытания на совместимость с платформой Java SE 6. [Источник 13]

Сборка OpenJDK 6 устанавливается в основном наборе пакетов OpenSUSE 11, входит в состав пакетов, поставляемых на DVD и присутствует в основных репозиториях проекта.

OracleJDK и OpenJDK

Oracle JDK базируется на OpenJDK?

Да. Oracle JDK основан на исходном коде OpenJDK. Кроме того, он содержит компоненты с закрытым исходным кодом. Окончательный результат лицензируется в соответствии с Binary Code License (лицензией Oracle).

Не делает ли OpenJDK ненужными другие реализации Java SE?

Нет. Пользователи Java могут извлечь выгоду из выбора совместимых реализаций Java SE, предоставляемых множеством вендоров в различных коммерческих моделях. Различные совместимые реализации Java SE конкурируют в таких аспектах, как настройка различных архитектур, производительность, инструменты и развертывание.

Планирует ли Oracle изменять способ участия разработчиков в OpenJDK?

Нет. Проект OpenJDK продолжает принимать взносы в рамках существующих соглашений с вкладчиками и принимать новых участников на тех же условиях. На данный момент нет планов по изменению модели участия.

infoitcomua

Это краткое руководство показывает студентам и новым пользователям, как установить OpenJDK и Oracle Java в Ubuntu 20.04 | 18.04.

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

Java можно реализовать несколькими способами. Когда дело доходит до Linux, существует две основные реализации Java.

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

Лицензия Oracle Java ограничивает Java только для личного использования и использования в целях разработки. Вы не можете использовать его в коммерческих целях.

OpenJDK состоит из Java Runtime Environment (JRE) и Java Development Kit (JDK) .

JRE состоит из виртуальной машины Java (JVM), классов и двоичных файлов, которые позволяют запускать программы Java. JDK включает JRE и инструменты и библиотеки для разработки / отладки, необходимые для создания приложений Java.

Когда вы будете готовы установить оба программного обеспечения Java, воспользуйтесь одним из следующих способов:

Установите OpenJDK в Ubuntu

Чтобы установить последнюю версию OpenJDK в Ubuntu, выполните следующие команды:

Чтобы проверить и подтвердить, что Java установлена, выполните следующие команды:

Это должно отобразить похожие строки, как показано ниже:

Вот как установить Java. Приведенные выше команды устанавливают полные пакеты Java, включая JDK, JRE и все библиотеки.

Если вы хотите установить только Java JRE, а не весь пакет, просто выполните следующие команды:

Или, если вам просто нужен минимум Java Runtime, просто выполните следующие команды:

Некоторые приложения все еще не полностью поддерживают последнюю версию OpenJDK 11. Для них они могут установить предыдущую версию Java LTS, которая была версией 8.

Если у вас установлено несколько версий Java, просто используйте приведенные ниже команды, чтобы указать, какая из них должна использоваться по умолчанию для вашей системы.

После этого вы сможете выбрать версию по умолчанию.

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

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

Затем добавьте строку для Java 11, как показано ниже:

Выполните приведенные ниже команды, чтобы сохранить изменения.

That should do it!

Это должно сработать!

Если вы хотите установить Oracle Java на Ubuntu, используйте следующий метод:

Установите Oracle Java в Ubuntu

На момент написания последней версии Oracle Java была 14 .

Загрузите последнюю версию Java SE Development Kit 14 LTS по ссылке ниже.

Возможно, вам придется заменить номер версии на последнюю, когда она станет доступной.

Теперь, когда вы загрузили правильный архивный пакет для своей системы, выполните следующие команды, чтобы установить Oracle Java…

sudo apt install ./ jdk-14 _linux-x64_bin.deb

После этого выполните следующие команды, чтобы настроить Java 14 по умолчанию в Ubuntu… Команды ниже настраивают Ubuntu на использование альтернатив Java.

Если у вас установлены другие версии Java и вы выполнили приведенные выше команды, вы должны увидеть приглашение выбрать версию Java, которую вы хотите сделать по умолчанию.

Затем выполните приведенные ниже команды, чтобы сделать Java 14 его компилятором Java по умолчанию для рабочего стола Ubuntu.

Должна быть установлена ​​и настроена Java…

Выполните следующие команды и посмотрите, распознает ли Ubuntu Java.

Вы должны увидеть результат ниже:

Чтобы установить переменные среды JAVA, создайте новый файл в каталоге /etc/profile.d для Java JDK…

sudo nano /etc/profile.d/jdk14.sh

Затем скопируйте и вставьте строки в конец файла и сохраните.

Затем запустите команды ниже

Приведенные выше команды должны настроить Java для работы и работы с Ubuntu. Чтобы проверить, правильно ли установлена ​​Java, выполните следующие команды.

Теперь вы можете убедиться, что Java установлена ​​и настроена, указав ее домашний каталог.

Как установить Java в Debian 10 Linux

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

Прежде чем вы начнете

Существуют две разные реализации Java, OpenJDK и Oracle Java, между которыми почти нет различий, за исключением того, что Oracle Java имеет несколько дополнительных коммерческих функций. Лицензия Oracle Java позволяет использовать программное обеспечение только в некоммерческих целях, например в личных целях и в целях разработки.

Репозитории Debian 10 по умолчанию включают два разных пакета Java: Java Runtime Environment (JRE) и Java Development Kit (JDK). JRE включает виртуальную машину Java (JVM), классы и двоичные файлы, которые позволяют запускать программы Java. Разработчики Java должны установить JDK, который включает JRE и инструменты и библиотеки для разработки / отладки, необходимые для создания приложений Java.

Если вы не уверены, какой пакет Java установить, общая рекомендация - придерживаться версии OpenJDK (JDK 11) по умолчанию. Для некоторых приложений на основе Java может потребоваться определенная версия Java, поэтому вам следует обратиться к документации приложения.

Установка OpenJDK 11

OpenJDK 11, реализация платформы Java с открытым исходным кодом, является средой разработки и выполнения Java по умолчанию в Debian 10, Buster.

Выполните следующие команды как пользователь с привилегиями sudo или root, чтобы обновить индекс пакетов и установить пакет OpenJDK 11 JDK:

После завершения установки вы можете проверить это, проверив версию Java:

Результат должен выглядеть примерно так:

Это оно! На этом этапе вы успешно установили Java в свою систему Debian.

JRE входит в пакет JDK. Если вам нужна только JRE, установите default-jre пакет.

Установка OpenJDK 8

На момент написания предыдущая версия Java LTS 8 недоступна в официальных репозиториях Debian Buster.

Мы включим репозиторий AdoptOpenJDK , который предоставляет готовые пакеты OpenJDK.

Импортируйте GPG-ключ репозитория с помощью следующей команды wget :

Добавьте репозиторий AdoptOpenJDK APT в вашу систему:

После включения репозитория обновите источники apt и установите Java 8, используя следующие команды:

Наконец, проверьте установку, проверив версию Java:


Результат должен выглядеть примерно так:

Установить версию по умолчанию

Если в вашей системе Debian установлено несколько версий Java, вы можете проверить, какая версия установлена ​​по умолчанию, набрав:

Чтобы изменить версию по умолчанию, используйте update-alternatives команду:

Результат будет выглядеть примерно так:

Вам будет представлен список всех установленных версий Java. Введите номер версии, которую вы хотите использовать по умолчанию, и нажмите Enter .

JAVA_HOME Переменная среды

JAVA_HOME Переменная окружения используется некоторыми приложениями Java , чтобы определить место установки Java.

Чтобы установить JAVA_HOME переменную среды, используйте update-alternatives команду, чтобы найти, где установлена ​​Java:

В этом примере пути установки следующие:

Найдя путь к предпочтительной установке Java, откройте /etc/environment файл:

Предполагая, что вы хотите установить JAVA_HOME OpenJDK 11, добавьте следующую строку в конец файла:

Чтобы изменения вступили в силу в вашей текущей оболочке, вы можете либо выйти из системы и войти в систему, либо выполнить следующую исходную команду :

Убедитесь, что JAVA_HOME переменная среды задана правильно:

Вы должны увидеть путь к установке Java:

/etc/environment - это общесистемный файл конфигурации, который используется всеми пользователями. Если вы хотите установить JAVA_HOME переменную для каждого пользователя, добавьте строку в этот .bashrc или любой другой файл конфигурации, который загружается при входе пользователя в систему.

Удалить Java

Вы можете удалить Java, как и любой другой пакет, установленный с помощью apt .

Например, чтобы удалить default-jdk пакет, просто запустите:

Заключение

Последняя LTS-версия OpenJDK доступна в репозиториях Debian 10 Buster по умолчанию, и установка является простой и понятной задачей.

Читайте также: