Анализ проблем с поставкой Java-приложений в Linux-дистрибутивах

27 сентября 2010 года

Терри Каррез (Thierry Carrez), возглавляющий разработку серверной сборки Ubuntu, подытожил в своем блоге проблемы, возникающие при поставке программ на языке Java в составе Linux-дистрибутивов и приводящие к тому, что множество Java-программ не доступны в пакетах для Linux-дистрибутивов или поставляются через сторонние репозитории.

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

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

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Анализ проблем с поставкой Java-приложений в Linux-дистрибутивах», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.