[sisyphus] Java 1.5
Vladimir Lettiev
=?iso-8859-1?q?crux_=CE=C1_gorodmasterov=2Ecom?=
Вт Май 31 18:05:14 MSD 2005
Eugene Prokopiev wrote:
>> Буду ковырять дальше
>
> Замена jdk-1_5_0-linux-i586.bin на jdk-1_5_0_03-linux-i586.bin ни к чему
> катастрофическому не привела, не считая:
...
> Так что основной вопрос теперь: а почему все-таки Java 1.5 уехала из
> Сизифа? С кем она не ужилась?
Тут надо отметить одну особенность java-проектов: использование большого
количества библиотек. Т.е. одна программа/библиотека может свободно
потребовать десяток-другой библиотек. Разворачивая клубок зависимостей,
видишь, что для сборки программы, например, tomcat, надо собрать кучу и
маленькую тележку различных библиотек: аккуратно и последовательно,
разрешая одну зависимость за другой, разруливая циклические зависимости
и т.д. Это если делать всё "правильно".
К сожалению, большинство java-программистов не задумывается над этим,
они складывают набор готовых jar'ов, в подкаталог lib проекта и
предлагают и нам об этом не задумываться. В итоге получается сумашедший
оверхед: каждая программка таскает с собой набор одних и тех же jar'ов,
различающиеся возможно только версиями. Представьте также, что будет,
если подгрузиться не то что нужно... Такой вот jar-hell.
afaik первыми, кто стал с этим бороться, это проект JPackage
(www.jpackage.org). В их сборках всё бинарное выкидывается, собираясь из
исходников, все jar'ы укладываются в одно место. В ALT java-policy это
также основное положение. Только в ALT условия ещё жёстче, поскольку
пакеты проходят регулярную пересборку -- своеобразный тест на выживание
в изменяющихся условиях.
Это было вступление, а теперь по теме. Представьте, что одно звено в
зависимостях отвалиться из-за того, что не пересобирается с j2se1.5 -
тогда весь карточный домик java-пакетов разваливается в один момент.
Когда j2se1.5 появился в Сизифе именно это и произошло. Часть
java-библиотек оказались непересобираемыми с новой j2se, а значит
кандидатами в orphaned, утащив бы за собой всё остальное.
Каково положение вещей сейчас, я не знаю. Можно конечно проверить, но не
таким способом, как это было сделано в прошлом году...
--
С уважением, Владимир Леттиев aka crux <crux на gorodmasterov.com>
Подробная информация о списке рассылки Sisyphus