icedtea web что это

Чай со льдом это строить и интеграция проект для OpenJDK запущен Красная шляпа в июне 2007 г. [3] IcedTea-Web это бесплатно программное обеспечение реализация Запуск Java Web и Ява плагин для веб-браузера. Холодный Чай-Звук представляет собой набор плагинов для звуковой подсистемы Java, включая PulseAudio провайдер, который раньше входил в состав IcedTea. В Фонд свободного программного обеспечения рекомендует всем Java-программистам использовать IcedTea в качестве среды разработки. [4]

Исторически первоначальной целью проекта IcedTea было сделать программное обеспечение OpenJDK, которое Sun Microsystems выпустила как бесплатное программное обеспечение в 2007 году, можно было использовать без каких-либо проприетарное программное обеспечение, и, следовательно, позволяет добавить OpenJDK в Fedora и другие Дистрибутивы Linux которые настаивают на свободном ПО. Эта цель была достигнута, и версия IcedTea на основе OpenJDK была упакована с Fedora 8 в ноябре 2007 г. В апреле 2008 г. вышел первый выпуск [5] нового варианта, IcedTea6, который основан на выпуске Sun сборки OpenJDK6, ответвлении OpenJDK с целью обеспечения совместимости с существующим JDK6. Это было выпущено в Ubuntu и Fedora в мае 2008 г. Пакет IcedTea в этих дистрибутивах был переименован в OpenJDK с использованием уведомления о товарном знаке OpenJDK. В июне 2008 года сборка Fedora прошла тщательное тестирование Sun TCK. [6] на x86 и x86-64. IcedTea 2, первая версия, основанная на OpenJDK 7, была выпущена в октябре 2011 года. [7] IcedTea 3, первая версия, основанная на OpenJDK 8, была выпущена в апреле 2016 года. [8] Поддержка IcedTea 1 была прекращена в январе 2017 года. [9]

Содержание

История

Этот проект был создан после выпуска Sun под лицензиями с открытым исходным кодом своего HotSpot Виртуальная машина и Компилятор Java в ноябре 2006 г., и большая часть исходный код из библиотека классов в мае 2007 года. Однако части библиотеки классов, такие как рендеринг шрифтов, управление цветом и поддержка звука, были предоставлены только как проприетарные двоичные плагины. Это произошло потому, что исходный код этих подключаемых модулей был защищен авторскими правами третьих лиц, а не Sun Microsystems. [10] [11] Выпущенные части были опубликованы в соответствии с условиями Стандартная общественная лицензия GNU, а лицензия на бесплатное программное обеспечение.

Из-за этих отсутствующих компонентов было невозможно собрать OpenJDK только с бесплатно программное обеспечение составные части. Sun стремилась вести переговоры с держателями лицензий, чтобы разрешить выпуск этого кода под лицензией на свободное программное обеспечение, или, если это не получилось, заменить эти проприетарные элементы альтернативными реализациями. После замены плагинов библиотека классов будет полностью бесплатной. Sun продолжала использовать закрытый код в своих сертифицированных бинарных выпусках. [12]

После объявления был запущен проект IcedTea, о котором было официально объявлено 7 июня 2007 г. [13] с репозиторием сборки, предоставленным Путь к классам GNU команда. Команда не смогла назвать свой программный продукт «OpenJDK» потому что это товарный знак, принадлежащий Sun Microsystems. Вместо этого они решили использовать временное имя «Чай со льдом». [14]

5 ноября 2007 года Red Hat подписала Соглашение с участником Sun и сообщество OpenJDK. Комплект совместимости технологий (TCK) Лицензия. В пресс-релизе говорилось, что это принесет пользу проекту IcedTea. [15] Саймон Фиппс предложил возможность размещения IcedTea на openjdk.java.net, [16] и Марк Рейнхольд отметил, что подписание передачи авторских прав может позволить Red Hat предоставлять Sun части IcedTea для включения в основной пакет JDK. [17] [18]

С тех пор в OpenJDK вошло несколько патчей от IcedTea. [19] [20]

В июне 2008 года было объявлено, что IcedTea6 (как упакованная версия OpenJDK на Fedora 9) прошел (TCK) тесты и может претендовать на то, чтобы быть полностью совместимой реализацией Java 6. [21] Проект продолжает отслеживать разработку OpenJDK 6, OpenJDK 7 и OpenJDK 8 в отдельных репозиториях и вносить исправления обратно в восходящий поток. [22] где возможно; текущее состояние каждого патча IcedTea поддерживается в вики IcedTea.

Проект IcedTea стартовал с двумя целями:

Другие преимущества

IcedTea также предоставляет более знакомую систему сборки, предоставляя оболочку для make-файлов OpenJDK с использованием GNU Autotools. Это избавляет от необходимости запоминать многочисленные переменные среды для настройки сборки. (Текущие сборки IcedTea устанавливают примерно сорок таких переменных для базовой сборки OpenJDK.) Он также предоставил место для ранней работы над функциями, которые в конечном итоге появятся в основных сборках OpenJDK, таких как Gervill [26] и для работы над портами на другие платформы.

IcedTea-Web

IcedTea-web предоставляет бесплатный плагин для веб-браузера Java. Он был первым, кто работал в 64-битных браузерах под 64-битным Linux, что позже было исправлено в проприетарной среде Sun JRE. [27] Это позволяет включить поддержку Java-апплеты в 64-битном Mozilla Fire Fox, среди прочего. IcedTea-web также предоставляет бесплатный запуск Java Web (Протокол запуска сети Java (JNLP)) выполнение. Sun пообещала выпустить свой плагин и Веб-запуск реализация как часть OpenJDK. [28] Несмотря на давление со стороны сообщества, [29] Sun Microsystems не преуспела в этом до того, как компания была приобретена Oracle. Разработка плагина IcedTea-web продолжается, последняя версия плагина следующего поколения поддерживает Google Хром [30] в дополнение к Firefox. С 2011 года разработка ведется в отдельном проекте IcedTea-Web. [31] По состоянию на апрель 2013 года Oracle сохранила кодовую базу плагина Java полностью проприетарной, [32] в отличие от остальной части OpenJDK. По состоянию на декабрь 2017 г. в IcedTea-Web 1.7.1 добавлена ​​поддержка jdk9.

Читайте также:  какой нормальный вес рожденного ребенка

Прогресс и доступность

С июня 2007 года IcedTea смогла построить себя и пройти значительную часть Лиловый, набор тестов GNU Classpath. [35] В мае 2008 года в IcedTea была добавлена ​​поддержка для запуска Sun jtreg регрессионные тесты. [36]

IcedTea стал популярным среди разработчиков пакетов следующих дистрибутивов Linux. В настоящее время (по состоянию на апрель 2012 г.):

Архитектура

OpenJDK содержал приблизительно (на момент выпуска в мае 2007 г.) 4% загруженного кода, [14] который был упакован только как двоичные плагины. Они были необходимы для сборки и использования JDK. OpenJDK 6 был выпущен только с 1% обремененным кодом, и с тех пор также была заменена поддержка обремененного звука. IcedTea6 основан на этом выпуске. IcedTea по-прежнему предоставляет собственный плагин для веб-браузера и поддержку Web Start, поскольку реализация Sun остается проприетарный.

IcedTea 1.x и 2.x может компилировать OpenJDK с использованием решений на основе пути к классам GNU, таких как GCJ и, при необходимости, самозагружается с помощью HotSpot Виртуальная машина Java и javac Компилятор Java он только что построен. [44] На данный момент для сборки IcedTea 3.x требуется использование IcedTea 2.x или 3.x либо сборки OpenJDK 7 или 8 из другого источника.

Поддержка платформы

Межархитектурные порты HotSpot (виртуальная машина OpenJDK) сложны, потому что код содержит много язык ассемблера, в добавок к C ++ ядро. [45] Проект IcedTea разработал общий порт HotSpot. устный переводчик называется точка доступа с нулевым ассемблером (или же нуль), [46] практически без ассемблерного кода. [47] [48] Этот порт позволяет легко адаптировать интерпретатор HotSpot к любому Linux архитектура процессора. [49] Кодекс точка доступа с нулевым ассемблером использовался для всех не-x86 порты HotSpot (PPC, IA-64, S390 и РУКА) из IcedTea7 версии 1.6. [50] [51] [52]

Проект IcedTea также разработал независимая платформа своевременный компилятор называется Акула для HotSpot, используя LLVM, дополнять Нуль. [48] [53] Это было включено в исходный OpenJDK в августе 2010 года. [54] JIT для ARM32 впервые был включен в 1.6.0 [55] и 2.1.1. [56] Родной порт для AArch64 из Red Hat [57] появился в 2.4.6 [58] и собственный порт PPC64 от SAP / IBM [59] будет включен в 2.5.0. [60] Порт PPC / AIX включен в вышестоящую версию OpenJDK, начиная с версии 8u20, [61] а порт AArch64 будет включен с версии 9. [62]

Источник

СОДЕРЖАНИЕ

История

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

5 ноября 2007 года Red Hat подписала соглашение Sun Contributor Agreement и лицензию OpenJDK Community Technology Compatibility Kit (TCK). В пресс-релизе говорилось, что это принесет пользу проекту IcedTea. Саймон Фиппс предположил, что IcedTea может быть размещен на openjdk.java.net, а Марк Рейнхольд отметил, что подписание передачи авторских прав может позволить Red Hat предоставлять часть IcedTea Sun для включения в основной JDK.

С тех пор в OpenJDK вошло несколько патчей от IcedTea.

В июне 2008 года было объявлено, что IcedTea6 (как упакованная версия OpenJDK в Fedora 9 ) прошел тесты (TCK) и может претендовать на то, чтобы быть полностью совместимой реализацией Java 6. Проект продолжает отслеживать разработку OpenJDK 6, OpenJDK 7 и OpenJDK 8 в отдельных репозиториях и вносить исправления обратно вверх по течению, где это возможно; текущее состояние каждого патча IcedTea поддерживается в вики IcedTea.

Проект IcedTea стартовал с двумя целями:

Другие преимущества

IcedTea-Web

Прогресс и доступность

IcedTea стал популярным среди разработчиков пакетов следующих дистрибутивов Linux. В настоящее время (по состоянию на апрель 2012 г.):

Архитектура

Поддержка платформы

Источник

Icedtea web что это

This repository contains all sources of IcedTeaWeb.

IcedTeaWeb is an open source implementation of JSR-56 that is better known as Java Web Start.

The project was formerly hosted as part of the icedtea.classpath.org project but moved to github.

Читайте также:  разводы в тендере какие есть

The 1.7 and 1.8 release branches of IcedTeaWeb have been migrated to GitHub for fixing bugs in the previews releases. Next to this a new project structure has been established in the master branch. Here the project is being migrated to Maven and more usage of Java 8 APIs are being introduced. Based on this IcedTeaWeb can be transformed to a general WebStart / JNLP API that JDK and tool vendors can use to offer JNLP functionality. A good example is OpenWebStart that will be based on IcedTeaWeb.

All issues of the former Bugzilla issue tracker at classpath.org were already migrated to GitHub and marked by the bugzilla-import label.

First Timers Support

We love open source. Based on this we develop IcedTeaWeb as an open source project. If you are new to open source development we have some specific issues for you. Just have a look at all issues with the good first issue label. This issues are reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issues are for you 💝 We use such issues for example to get involved at Hacktoberfest. If you want to know more about open source development and contribution in general you should have a look at this overview.

The project is released as open source under the GPLv2 with exceptions.

Источник

СОДЕРЖАНИЕ

История

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

5 ноября 2007 года Red Hat подписала соглашение Sun Contributor Agreement и лицензию OpenJDK Community Technology Compatibility Kit (TCK). В пресс-релизе говорилось, что это принесет пользу проекту IcedTea. Саймон Фиппс предположил, что IcedTea может быть размещен на openjdk.java.net, а Марк Рейнхольд отметил, что подписание передачи авторских прав может позволить Red Hat предоставлять часть IcedTea Sun для включения в основной JDK.

С тех пор в OpenJDK вошло несколько патчей от IcedTea.

В июне 2008 года было объявлено, что IcedTea6 (как упакованная версия OpenJDK в Fedora 9 ) прошел тесты (TCK) и может претендовать на то, чтобы быть полностью совместимой реализацией Java 6. Проект продолжает отслеживать разработку OpenJDK 6, OpenJDK 7 и OpenJDK 8 в отдельных репозиториях и вносить исправления обратно вверх по течению, где это возможно; текущее состояние каждого патча IcedTea поддерживается в вики IcedTea.

Проект IcedTea стартовал с двумя целями:

Другие преимущества

IcedTea-Web

Прогресс и доступность

IcedTea стал популярным среди разработчиков пакетов следующих дистрибутивов Linux. В настоящее время (по состоянию на апрель 2012 г.):

Архитектура

Поддержка платформы

Источник

Как мы мигрировали с Oracle JDK и Java Web Start на AdoptOpenJDK и OpenWebStart

Доброго времени суток.

В данной статье я расскажу о «модернизации» в компании, в которой я работаю, такого инструмента как Java Web Start, а точнее об его замене альтернативным opensource решением.

О себе

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

Проблема

Начну с описания проблемы. В нашей компании есть важнейшая часть системы, которая представляет из себя legacy-приложение, написанное на java 6 и частично на java 8. Запускалось оно на java 8. Чтобы использовать это приложение на production пользователи скачивают с сайта jnlp-файл и запускают его у себя на компьютерах.

Так компания долго и счастливо существовала, пока Oracle не объявила о прекращении поддержки 8й версии java, не пометила технологию Java Web Start как deprecated и вовсе решила выпилить ее начиная с java 11. Это значило, что JWS-приложения, коих все еще немало, больше не будут получать в том числе обновлений безопасности. С этим, конечно же, мало кто может смириться. Так же подумали энтузиасты из компании Karakun решили написать свою замену для JWS.

В нашей же компании некоторое время назад начали переписывать приложение, используя Spring boot для бекэнда и React для фронтэнда, но процесс не быстрый, а обновлений нет уже сейчас.

Поиск решения

Итак перед командой разработки встал вопрос о поиске альтернативных решений. Вообще стоит признать, что решение проблемы есть и не одно. Изначально архитекторы отобрали два решения GetDown и тот самый OpenWebStart. На момент принятия первоначального решения выбор пал на первый вариант, так как OpenWebStart еще даже не был зарелизен под первой версией (были только какие-то наработки и планы).

Читайте также:  huawei или iphone что выбрать

У каждого из решений были свои плюсы и минусы, но компания решила не ждать релиза OpenWebStart и начать реализовывать proof of concept на базе GetDown.

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

Тем временем прилетели другие срочные задачи и команда разработки отвлеклась от перехода со стадии PoC к полноценной реализации замены Java Web Start.

Сроки поджали

Все жили счастливо, пока менеджмент не осознал, что пришло время уже заканчивать и с заменой Java Web Start. До этого момента я не занимался этим проектом, но тут меня тоже подключили.
Сначала я решил поискать информацию о вариантах решения нашей проблемы еще раз. Так скажем вникнуть в решение с нуля. Таким образом я для себя открыл существование OpenWebStart. Протестировал у себя локально, столкнулся с некоторыми проблемами (потом мы столкнулись еще и с другими) и решил их. В итоге решение понравилось всем. Нужно ли говорить о том, что особенно оно понравилось менеджменту тем, что не нужно будет тратить времени на разработку как в случае с GetDown. Но в итоге время мы потратили на то, чтобы заставить работать нашу систему с OpenWebStart.

Краткая информация об OpenWebStart

OpenWebStart основан на другой реализации Java Web Start — IcedTea-Web и JNLP-спецификации JSR-56. На момент написания статьи проект существует в версии 1.1.4 и планирует реализовать в себе основные фичи Java Web Start (за прогрессом можно наблюдать тут).
Перечислять все возможные настройки не вижу смысла, это может занять очень долго.

Вот лишь некоторые из них:

Особенности использования OpenWebStart и проблемы, с которыми мы столкнулись

Установка OpenWebStart

Установить OpenWebStart довольно просто. Достаточно на сайте скачать установочный файл для вашей платформы и следовать инструкциям установщика.

Но вот незадача. В нашем случае пользователями являются около 10000 клиентов, на каждый из которых служба поддержки нашей компании должна установить этот инструмент. Решение нашлось довольно быстро: доступна так называемая фоновая установка.

Нужно закинуть установочный файл на каждый из компьютеров и запустить специальную команду(а для этого у компании уже есть инструмент):

, где response.varfile — файл с некоторыми настройками, которые заранее можно задать установщику. Например, папка, в которую установить OpenWebStart, и некоторые другие.

Хорошо, с этой проблемой справились. Дальше нужно бы как-то всем клиентам установить определенную версию AdoptOpenJDK и связать их с OpenWebStart, что легко делается через пользовательский интерфейс, но это не наш случай.

Мы же в настройках обнаружили, что можно указать URL, с которого OpenWebStart будет брать файл настроек, в котором можно указать URL на нужную нам JRE. А сам URL с файлом настроек можно указать в упомянутом выше response.varfile (вот так все сложно).

Сам JSON-файл настроек с разными версиями JRE выглядит следующим образом.

В настройках так же можно задать версию и вендора JRE, на случай если в JSON файле указано несколько JRE. Мы же указали только один и залили JSON файл и архив с нужным нам JRE на Amazon S3 bucket.

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

«Ну вот теперь все прекрасно заработает», — подумали мы.

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

Беда не приходит одна

Но как это обычно бывает одной проблемой мы не ограничились.

У нашего приложения есть, скажем так, одна особенность. На самом деле их два. Одно приложение (один jnlp файл) запускает из себя второе приложение (второй jnlp). И вот в этом случае второе приложение не стартовало. В логах можно было увидеть, что приложения застревают в дедлоке. Из стектрейса стало понятно, что причиной служит внутренний механизм логгирования OpenWebStart.

Проблема решилась отключением внутреннего логгирования OpenWebStart. Логи наших приложений разумеется остались включенными.

Эти настройки так же получилось отключить в response.varfile файле, который используется при фоновой установке.

И вот после преодоления этих и немного других препятствий (всех уже и не упомнить), нам удалось запустить наше приложение, которое сейчас проходит тестирование перед релизом в прод. По мере нашего тестирования версия OpenWebStart обновилась с 1.1.1 до 1.1.4. Из заметных изменений была добавлена возможность дебажить удаленно.

Возможно, моя статья будет кому-то полезна в таком нелегком труде как поддержка legacy-приложений. Если будут вопросы — спрашивайте, постараюсь ответить.

Источник

Сказочный портал