1.2, User294 (ok), 17:24, 27/09/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Невольно вспомнился анекдот. Смотрит доктор пациента.
- Хорошо.... Хорошо.... Очень хорошо!
- А что хорошо, доктор?
- Хорошо то что это - не у меня.
| |
|
2.5, Fcuku (ok), 17:51, 27/09/2010 [^] [^^] [^^^] [ответить]
| +6 +/– |
На деле-то все проще:
Разработчики дают бинарь с исходниками, обвязанными ТАКИ-И-ИМИ XML для сборки, что без ПОЛНОГО проникновения в тему собрать на Фре, скажем, просто нереально :)
И ОТТАТПТЫВАЮТ СЕБЕ, таким образом, "кормовую площадку" :)
Поза такая: GPL, бинарь под пару магистральных Линей, исходники, "вот XML, мы сами, мамой клянусь, этим XML ночные сборки делаем!!!"
А дальше - "можно купить поддержку" :)
Или сам давай сырцы читай, жадина :)
| |
2.23, iZEN (ok), 20:16, 27/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
Дохтур, и это тоже у тебя, только ты об этом не знаешь. Ты же на Ubuntu живёшь, а значит проблемы кучи пакетиков .deb для обеспечения нормальной работы Java тебя не миновали. К примеру, на Debian-based для русификации Java всё ещё требуется доустанавливать sun-java6-fonts.deb. В то время, как на взрослых системах поддержка i18n/l10n идёт в одном пакете c JDK или с JRE и доустанавливать ничего не надо.
| |
|
3.25, User294 (ok), 20:33, 27/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
>Ты же на Ubuntu живёшь, а значит проблемы кучи пакетиков .deb
>для обеспечения нормальной работы Java тебя не миновали.
У меня нет ни 1 программы на яве. И ни 1 сервака с ней. Поэтому да, у *меня* никаких проблемой с явой и ее нормальной работой - *нет*. Вот глядя на все это мне и вспомнился анекдот :)))
> К примеру, на Debian-based для русификации Java всё ещё требуется доустанавливать
Вам требуется? Вы и доустанавливайте, имхо.
| |
3.59, Zenitur (?), 09:43, 29/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
Теперь понятно, почему в любом дистрибутиве Azureus, он же Vuze, работает сразу. А в Убунте пакетнй менеджер тянет много других пакетов. Если верить юзеру. Потому-то он явой и не пользуется, что в Убунте это затруднено.
| |
|
4.62, stimpack (?), 13:45, 12/10/2010 [^] [^^] [^^^] [ответить]
| +/– |
Азуреус-азуреус...
Мастера делать простое сложным, мастера жрать проц и память, чертов комбайн вместо торрента... Слава богу, что есть нормальные аналоги. Тот же transmission - выглядит чуть ли не модальным окном, а функций - столько же. И работает на порядок приятнее.
| |
|
|
|
1.3, аноним (?), 17:33, 27/09/2010 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
>Дистрибутивы стремятся к поставке единой версии библиотеки для всех программ, в то время как Java-приложения проповедуют принцип поставки нужного набора библиотек в составе каждого пакета.
при чём тут проповедуют, если просто вынуждены так делать.
| |
|
2.4, Аноним (-), 17:35, 27/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
Это почему же? В репозиториях иногда встречаются рахные версии одних и тех же библиотек.
| |
2.55, Andrey Mitrofanov (?), 12:33, 28/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
> просто вынуждены так делать.
Вильям наш Гейц Третий с Усамой Беновичем Ладданом стояли над ними и... о! принуждали. Бе-е-е-едненькие!
| |
|
1.9, none (??), 18:11, 27/09/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
есть спецификации на jvm
есть jdk, кот. спокойно уживаются, в разных версиях, на компе (alternative для jre)
ИМХО - достаточно "притянутые" проблемы
а для ОСС особенно
| |
|
2.57, nuclight (ok), 22:39, 28/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
Это Вы, видимо, не сталкивались с программами, требующими конкретную версию JDK.
| |
|
3.58, iZEN (ok), 00:15, 29/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
> Это Вы, видимо, не сталкивались с программами, требующими конкретную версию JDK.
Я сталкивался с программами, требующими конкретную версию JDK для определённой архитектуры команд CPU. Ничего — уживаются два разных JDK для [i386] и [amd64] на одной машине в одной операционной системе. ;)
| |
|
|
1.13, Аноним (-), 19:06, 27/09/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Подотрите сопли, истерика ни к чему.
В моей gentoo сосуществуют как минимум 3 версии одной и той же jpeg либы.
Сосущесвуют? Да.
Без проблем? Нет, не без проблем.
Где тут джава? В воспаленном воображении спорщиков.
Пакетные менеджеры не так хороши, как хотелось бы, вот и все.
| |
|
2.15, szh (ok), 19:30, 27/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
> как минимум 3 версии одной и той же jpeg либы.
когда будет 300 версий комбинаций из десятков библиотек весом в xx мегабайт,
для 300 программ, когда ты будешь оплачивать доп расходы на поддержку такой кучи,
тогда и порассуждаешь о сопельках.
| |
|
3.16, Аноним (-), 19:37, 27/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
ты мне не тыкай, и не передергивай. В реальном мире версии зависимостей единицами считают, а не сотнями.
| |
|
4.18, szh (ok), 19:52, 27/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
вводная аргументация "Подотрите сопли, истерика ни к чему." располагает.
> В реальном мире версии зависимостей единицами считают, а не сотнями.
по ссылке другое мнение.
Package all versions of libraries
The next obvious solution is to make separate packages for every version of library that the software uses. The problem is that there is no real convergence on “commonly-used” versions of libraries. There is no ABI protection, nor general guidelines on versioning. You end up having to package each and every minor version of a library that the software happens to want. That doesn’t scale well: it creates an explosion in the number of packages, code duplication, security update nightmares, etc. Furthermore, sometimes the Java project patches the libraries they ship with to include a specific feature they need, so it doesn’t even match with a real library version anymore.
| |
|
5.24, Аноним (-), 20:30, 27/09/2010 [^] [^^] [^^^] [ответить] | +3 +/– | 1 Различные приложения не джава требуют различные версии либы не джава П... большой текст свёрнут, показать | |
|
6.30, Fcuku (ok), 21:23, 27/09/2010 [^] [^^] [^^^] [ответить]
| +2 +/– |
Нет, проблемы существуют на уровне совести разработчиков, НЕ предоставляющих исходники в пригодном для мультиплатформенной сборки виде.
Немножко жилят, вымогая денежек с тех, кому надо перебрать пакет, а сил вникать нету.
Соответственно, разводится такой зверинец, от которого страдают и дистры.
| |
|
7.33, Аноним (-), 21:37, 27/09/2010 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Нет, проблемы существуют на уровне совести разработчиков, НЕ предоставляющих исходники в пригодном
>для мультиплатформенной сборки виде.
>Немножко жилят, вымогая денежек с тех, кому надо перебрать пакет, а сил
>вникать нету.
>Соответственно, разводится такой зверинец, от которого страдают и дистры.
Оpenoffice уж на что монстр, а собирается в gentoo из исходников. Выходит проблема не в джаве, а в конкретных разработчиках.
| |
7.37, VoDA (ok), 23:19, 27/09/2010 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Нет, проблемы существуют на уровне совести разработчиков, НЕ предоставляющих исходники
> в пригодном для мультиплатформенной сборки виде.
> Немножко жилят, вымогая денежек с тех, кому надо перебрать пакет, а сил
> вникать нету.
> Соответственно, разводится такой зверинец, от которого страдают и дистры.
Java сама по себе мультиплатформенна - СЮРПРИЗ =))) Исходники кстати сразу идут в мультиплатформенном виде, maven вообще сам подтянет из центрального репо требуемые либы.
Дело в том, что C/C++ приложения точатся под отдельный дистр и для них делаются скрипты привинчивающие к определенной системе. Java для платформо и дистро независимости не привинчивается к системе, потому и вынуждена таскать набор либок.
| |
|
8.53, Fcuku (ok), 12:28, 28/09/2010 [^] [^^] [^^^] [ответить] | +/– | Читаете ли вы то, что комментируете И насколько вы способны собрать Java п... текст свёрнут, показать | |
|
|
6.48, б.б. (?), 05:38, 28/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
> Различные приложения(!не джава!) требуют различные версии либы(!не джава!). Проблема
> версионирования вообще не из джавы, ею все страдают. Взять хоть эпопею
> с двумя питонами, ведь ужас какой-то.
У меня в дебиане одновременно сразу 4 питона (Пусть эта змеюка подавится!).
| |
|
|
|
|
2.26, mike lee (?), 20:48, 27/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
> В моей gentoo сосуществуют как минимум 3 версии одной и той же jpeg либы.
зачем? у меня например одна 8b.
| |
|
3.29, Аноним (-), 21:08, 27/09/2010 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> В моей gentoo сосуществуют как минимум 3 версии одной и той же jpeg либы.
>
>зачем? у меня например одна 8b.
А зачем на торрентах лежат N сезонов симпсонов? Оставили бы последний, чего на остальные место тратить?
Разным людям нравятся разные сезоны, а разным приложениям нравятся разные версии либы.
| |
|
4.31, Fcuku (ok), 21:25, 27/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
>>> В моей gentoo сосуществуют как минимум 3 версии одной и той же jpeg либы.
>>
>>зачем? у меня например одна 8b.
>
>А зачем на торрентах лежат N сезонов симпсонов? Оставили бы последний, чего
>на остальные место тратить?
>Разным людям нравятся разные сезоны, а разным приложениям нравятся разные версии либы.
>
Это у вас симлинки "сосуществуют" :)
А библиотека - одна :)
| |
|
5.34, Аноним (-), 21:42, 27/09/2010 [^] [^^] [^^^] [ответить]
| +4 +/– |
>[оверквотинг удален]
>>>
>>>зачем? у меня например одна 8b.
>>
>>А зачем на торрентах лежат N сезонов симпсонов? Оставили бы последний, чего
>>на остальные место тратить?
>>Разным людям нравятся разные сезоны, а разным приложениям нравятся разные версии либы.
>>
>
>Это у вас симлинки "сосуществуют" :)
>А библиотека - одна :)
Я Вас покусаю :) В гентушном менеджере есть "слоты", позволяющие иметь в системе несколько версий одной либы, это факт. Ведь не городили бы огород, не будь версий библиотеки более одной.
| |
|
6.54, Fcuku (ok), 12:31, 28/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
> Я Вас покусаю :) В гентушном менеджере есть "слоты", позволяющие иметь в
> системе несколько версий одной либы, это факт. Ведь не городили бы
> огород, не будь версий библиотеки более одной.
К теме!
Libjpeg - сколько?
"Три" или, все же единственный экземпляр 8.х?
| |
|
5.51, Андрей (??), 11:21, 28/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
не всегда. например, тот же nxclient хочет openssl-0.9.8, хотя все остальное прекрасно пересобралось с openssl-1.0.0. или тот же вайн@этерсофт, не смотря на то, что libpng разделили на два слота - >=1.4.3 и <1.4.3, не собирается, пока в системе присутствует >=1.4.3 (не смотря на присутствие так же <1.4.3). Но потом прекрасно (насколько это возможно ;) ) работает, когда вернешь >=1.4.3.
| |
|
4.49, б.б. (?), 05:40, 28/09/2010 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>> В моей gentoo сосуществуют как минимум 3 версии одной и той же jpeg либы.
>>
>>зачем? у меня например одна 8b.
> А зачем на торрентах лежат N сезонов симпсонов? Оставили бы последний, чего
> на остальные место тратить?
> Разным людям нравятся разные сезоны, а разным приложениям нравятся разные версии либы.
Сколько нынче дядек дают за одну бузину на центральном рынке Киева?
| |
|
|
|
|
2.17, segoon (ok), 19:39, 27/09/2010 [^] [^^] [^^^] [ответить]
| –1 +/– |
У меня 13 программ в $PATH хотят питон, 10 из них весят 2-100 кб. На каждый из них ставить свой питон со всеми питонолибами? :0)
| |
|
3.27, Прохожий (??), 20:50, 27/09/2010 [^] [^^] [^^^] [ответить]
| +1 +/– |
>это концепция, выпускай дистрибутив
Такой дистр уже есть. В нем каждая прога ставиься в свою структуру каталогов вместе со всеми зависимостями - все свое ношу с собой :) Название дистра не помню и он непопулярен.
| |
|
4.28, Ytch (?), 21:00, 27/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
>Такой дистр уже есть. В нем каждая прога ставиься в свою структуру каталогов вместе со всеми зависимостями - все свое ношу с собой :) Название дистра не помню и он непопулярен.
Windows? :)
| |
4.50, б.б. (?), 05:43, 28/09/2010 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>это концепция, выпускай дистрибутив
> Такой дистр уже есть. В нем каждая прога ставиься в свою структуру
> каталогов вместе со всеми зависимостями - все свое ношу с собой
> :) Название дистра не помню и он непопулярен.
Это примерно как решать проблемы пробок созданием сотни изолированных друг от друга дорог - "Базар-Вокзал" "Базар-Баня" "Вокзал-Баня" и т.п., вместо проектирования грамотной развязки.
| |
|
5.56, Aquarius (ok), 13:35, 28/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
>>>это концепция, выпускай дистрибутив
>> Такой дистр уже есть. В нем каждая прога ставиься в свою структуру
>> каталогов вместе со всеми зависимостями - все свое ношу с собой
>> :) Название дистра не помню и он непопулярен.
> Это примерно как решать проблемы пробок созданием сотни изолированных друг от друга
> дорог - "Базар-Вокзал" "Базар-Баня" "Вокзал-Баня" и т.п., вместо проектирования грамотной
> развязки.
в реальной жизни это абсурд, а в информационном - вполне себе решение
| |
|
6.60, Aquarius (ok), 14:07, 29/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
>>>>это концепция, выпускай дистрибутив
>>> Такой дистр уже есть. В нем каждая прога ставиься в свою структуру
>>> каталогов вместе со всеми зависимостями - все свое ношу с собой
>>> :) Название дистра не помню и он непопулярен.
>> Это примерно как решать проблемы пробок созданием сотни изолированных друг от друга
>> дорог - "Базар-Вокзал" "Базар-Баня" "Вокзал-Баня" и т.п., вместо проектирования грамотной
>> развязки.
> в реальной жизни это абсурд, а в информационном - вполне себе решение
поправка: в реальном мире это абсурд, а в информационном - вполне себе решение
так лучше звучит
| |
|
|
|
|
|
|
2.32, Fcuku (ok), 21:29, 27/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
>Осильте уже Apache Maven и перестаньте ныть!
Э-э-э...
Вы уверены, что в Каноникал про Maven ничего не слышали?
А вы им - письмо! :)
Пусть прозреют! :)
Ссылку кинуть не забудьте!!! :)
| |
|
3.36, iZEN (ok), 23:02, 27/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
>>Осильте уже Apache Maven и перестаньте ныть!
> Э-э-э...
> Вы уверены, что в Каноникал про Maven ничего не слышали?
> А вы им - письмо! :)
> Пусть прозреют! :)
> Ссылку кинуть не забудьте!!! :)
Какой там Maven — они JDK не могут собрать в один пакет, чтобы "как у всех всё работало". Пользователям приходится по кусочкам целостную платформу собирать, ища пакетики по ключевым словам траблов из серии "русский язык в Java не работает в Ubuntu" в Гугле. Вот до чего доводит концепция "рекомендуемых, но необязательных пакетиков".
| |
|
4.39, VoDA (ok), 23:24, 27/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
Это 3.14дец =)))
так в Ubuntu получается не JavaDK? ибо Java должна уметь по дефолту кучку языков и т.п. Если не могет - не java, а подобие типа gcj...
| |
|
|
|
1.40, VoDA (ok), 23:27, 27/09/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
По мне проблемы две.
1. не доведенная до ума модульность в java. Проект jugsaw, пара JSR на эту тему. Обещают в JDK 8 асилить.
2. пакетные менеджеры дистрибутивов не умеют работать с java-менеджером зависимостей maven. А java разработчики конечно же не будут запиливаться на один дистр, если можно остаться кроссплатформенными.
Выход научиться из apt-get использовать maven и его зависимости + при запуске приложения грамотно собирать CLASSPATH.
| |
|
2.41, iZEN (ok), 00:12, 28/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
> По мне проблемы две.
> 1. не доведенная до ума модульность в java. Проект jugsaw, пара JSR
> на эту тему. Обещают в JDK 8 асилить.
Чем .class файлы не модули? Помниться, до изобретения JAR, апплеты загружались в браузеры только class-файлами и начинали работать сразу, как только скачается первый из них. По мере задействования нового байткода подгружались недостающие class-файлы. То есть программа на Java уже работала даже тогда, когда ещё не все её части подгрузились на клиентский компьютер.
> 2. пакетные менеджеры дистрибутивов не умеют работать с java-менеджером зависимостей maven.
Пакетные менеджеры умеют запускать предварительно сконфигурированные скрипты для обеспечения корректной инсталляции бинарного пакета. mvn — это скрипт с параметрами для сопровождения всего жизненного цикла программных сущностей (приложений и библиотек) различных версий, всех фаз сборки/тестирования/инсталляции/запуска.
| |
|
3.44, VoDA (ok), 01:07, 28/09/2010 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Чем .class файлы не модули? Помниться, до изобретения JAR, апплеты загружались в браузеры только class-файлами и начинали работать сразу, как только скачается первый из них. По мере задействования нового байткода подгружались недостающие class-файлы. То есть программа на Java уже работала даже тогда, когда ещё не все её части подгрузились на клиентский компьютер.
java либы очень маленькие и узкоспециализированные, потому их просто немеренно даже для малого проекта. Либо приходится поднимать JavaEE compatible сервер и пользоваться еще бОльшим набором либ/систем в комплекте. Косяк именно в большом кол-ве различных либ.
Если jar B зависит от A версии 1 и jar C зависит от A версии 2, при этом версии 1 и 2 несовместимы, то нет возможности написать java приложение зависящее от B и C одновременно. Будут феерические баги из-за двух несовместимых либ в класс-пасе или попытки подоткнуть не ту jar-ку.
java modules это фикс для подобной ситуации. Все остальное в java могут сделать maven & OSGi
> Пакетные менеджеры умеют запускать предварительно сконфигурированные скрипты для обеспечения корректной инсталляции бинарного пакета. mvn — это скрипт с параметрами для сопровождения всего жизненного цикла программных сущностей (приложений и библиотек) различных версий, всех фаз сборки/тестирования/инсталляции/запуска.
1. по сути нужно вытащить зависимости из mvn и уложить на пакетную базу целевого дистрибутива.
2. Дальше перегнать mvn repo в репо для целевой системы.
3. В результирующих WAR / EAR / иных сборках заменить jar из lib на ссылки на установленные пакеты из п.2
По сути куча механической работа + оттестировать. Только кто заплатит за развлечение?
| |
|
4.47, iZEN (ok), 03:49, 28/09/2010 [^] [^^] [^^^] [ответить] | +/– | Вообще, class-файлов немеряно, да Гранулированность Java-приложений, несмотря ... большой текст свёрнут, показать | |
|
5.52, VoDA (ok), 11:51, 28/09/2010 [^] [^^] [^^^] [ответить]
| +/– |
> Я думаю, косяк в перепаковке и потере целостности. Дебианщики упускают целостное восприятие Java-кода в погоне за его перепаковкой в DEB.
Это есть.
> Да, в Maven это разруливается легко на основе информации о версии в
> имени файлов jar.
> Но зачем? Перепаковка портабельного кода ничего не даёт кроме головной боли мантейнерам.
> (что и наблюдаем)
> Гораздо лучше работать с локальным репозиторием Maven из пакетного менеджера, рулить mvn,
> чтобы тот производил все необходимые действия по сопровождению кода Java.
> Жизненный цикл (загрузка, выгрузка, обновление) WAR/EAR — вотчина сервера пиложений
> Java EE, а не пакетного менеджера.
Вы читали задачи которые должна решать система java modules?
Там не только сборка приложения и подтыкание правильных jar для сборки (это делает mvn), но и создание системного репо и каждое приложение вместо того, чтобы тянуть с собой кучу либ - просто запрашивает требуемые либы (по версиям) у java, сама java уже ищет/качает с центрального сайта и т.п.
В этом одна из задач jugsaw.
| |
|
|
|
2.43, Marbleless (?), 00:36, 28/09/2010 [^] [^^] [^^^] [ответить]
| +1 +/– |
>не доведенная до ума модульность в java.
Это просто у многих дистростроителей бзик с этой модульностью. Упаковывают Жабу в 5 разных пакетов, а потом "У меня русский язык в Жабе не работает". Особенно хорошо когда есть "Полная версия", "Почти полная версия" и "Совсем маленькая версия". А особенно хорошо, когда часть программ в дистре зависит от, скажем, OpenJDK а часть от GCJ, причем оба их поставить одновременно нельзя.
Жаба привыкла скачиваться и ставиться одним пакетом. На всех. Вообще. И чтобы на всех платформах ПО на Java работало одинаково. Но нет ведь, и тут надо взять и сделать чертов зоопарк.
| |
|
1.42, Аноним (-), 00:33, 28/09/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
С переменными окружения надо быть аккуратнее.
Если, к примеру задаем LD_LIBRARY_PATH, и запускаем файловый менеджер, то все программы запущенные этим файловыйм менеджером, могут получить неправильное окружение, и вследствии чего подгрузить не те библиотеки.
То же самое касается CLASSPATH.
Лучше использовать rpath или манифесты.
| |
|
2.45, VoDA (ok), 01:10, 28/09/2010 [^] [^^] [^^^] [ответить]
| +1 +/– |
> С переменными окружения надо быть аккуратнее.
> Если, к примеру задаем LD_LIBRARY_PATH, и запускаем файловый менеджер, то все программы
> запущенные этим файловыйм менеджером, могут получить неправильное окружение, и вследствии
> чего подгрузить не те библиотеки.
> То же самое касается CLASSPATH.
> Лучше использовать rpath или манифесты.
Не совсем. CLASSPATH формируется независимо для каждого запускаемого приложения.
По другому дела идут в контейнерах и АппСерверах - там клиентские надстройки (WAR/EAR) запускаются в рамках контейнера и контейнер модифицирует класс-лоадинг для выполнения своих задач. К примеру для DI или поддержки штатных функций, потому часть либ-ок шарится между АппСервером и приложениями им запускаемыми.
| |
|
|