Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3      [все]
 Использует ли кто-то Java Modules?  [new]
Stanislav Bashkyrtsev
Member

Откуда: СПб
Сообщений: 137
Недавно таки решил попробовать перейти. И сразу обломался, потому как есть много зависимостей которые их не объявляют. И их не заставить работать если есть две библиотеки с одинаковыми пакетами.

Может кто-то таки использует? Идея кажется интересной, но как будто бы слишком мудрено все. В Java и так трудно начать че-то понимать новичкам, а тут еще такие сложности добавились.. Поэтому не понятно стоит ли усложнять свои проекты (если это не библиотека).

Сообщение было отредактировано: 28 апр 21, 00:23
28 апр 21, 00:30    [22315378]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
Stanislav Bashkyrtsev,
Я тоже не нашел смысла использовать.
Даже в чем идея в отличии от тебя не понял.
Спринг народу лучше зашел. И стримы)). Примерно за квартал-год.
Тема была одна всего и то пару фраз.
28 апр 21, 07:00    [22315401]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Пока сборщики не понимают Java modules, складывается забавная ситуация. Есть maven-modules и Java-modules.
И как нам различать эту семантику? Нужна какая-то теория которая это все обобщит. Иначе будет хаос терминологии
и непонимание.

И нужен какой-то эффективный семпл проекта гда без Java модулей - ну вообще просто никак. Из примеров
я на хабре видел статьи с GraalVM которые использовали эти возможности.
28 апр 21, 12:10    [22315541]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5687
Для начала рекомендую почитать эту книгу.
Щас её потихоньку штудирую.


Stanislav Bashkyrtsev
Недавно таки решил попробовать перейти. И сразу обломался, потому как есть много зависимостей которые их не объявляют. И их не заставить работать если есть две библиотеки с одинаковыми пакетами.


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

Stanislav Bashkyrtsev

Может кто-то таки использует? Идея кажется интересной, но как будто бы слишком мудрено все. В Java и так трудно начать че-то понимать новичкам, а тут еще такие сложности добавились.. Поэтому не понятно стоит ли усложнять свои проекты (если это не библиотека).


Я лично только в теории.
Т.к. тот же SpringBoot и использует модули, но как бы мне пока беспокоиться не надо, т.к. все нужные модули уже есть в зависимостях SpringBoot.
28 апр 21, 12:32    [22315557]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5687
mayton
Пока сборщики не понимают Java modules, складывается забавная ситуация. Есть maven-modules и Java-modules.
И как нам различать эту семантику? Нужна какая-то теория которая это все обобщит. Иначе будет хаос терминологии
и непонимание.

И нужен какой-то эффективный семпл проекта гда без Java модулей - ну вообще просто никак. Из примеров
я на хабре видел статьи с GraalVM которые использовали эти возможности.


Насколько я понял. Java-модули нужны только для создания компактных приложений.
Т..е. мы берем только нужное, явно это указывая.

В связи со Spring'ом головного мозга, мне это как бы не нужно.

Но вот думаю для каких нибудь вещей типа AWS Lambda возможно и актуально.
28 апр 21, 12:37    [22315559]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
mad_nazgul,
Где спринг использует если их не видно?
28 апр 21, 12:38    [22315560]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11020
mad_nazgul
Насколько я понял. Java-модули нужны только для создания компактных приложений.
Нет, вы поняли неправильно.
В самом начале книги, которую вы штудируете, объясняются цели и задачи создания модульной инфраструктуры. Ну и о проблемах и ограничениях тоже сказано.
28 апр 21, 12:44    [22315567]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Stanislav Bashkyrtsev
Member

Откуда: СПб
Сообщений: 137
mad_nazgul
Насколько я понял. Java-модули нужны только для создания компактных приложений.
Я так понимаю что задача в том чтоб не экспортировать все публичные классы наружу. Т.е. пишем либу, в которой несколько пакетов. Чтоб пакеты были видны в другом пакете приходится делать классы public. Но это также дает доступ к этим классам и всем проектам кто будет использовать либу. Что значит что менять эти классы нельзя, ибо ломает обратную совместимость. Т.е. модули должны предоставить больше инкапсуляции.
mayton
Пока сборщики не понимают Java modules, складывается забавная ситуация. Есть maven-modules и Java-modules.
Ну Maven умеет с модулями работать. Он автоматически создает модули из библиотек которые их не поддерживают и передает их в module-path. А все что для тестирования продолжает жить в class-path.

Хотя насколько я понимаю зависимости все равно надо в двух местах описывать. Сначала в pom.xml, затем в module-info.java. Но соответственно не все зависимости там нужны будут, от транзитивных модулей мы зависеть не будем.
28 апр 21, 13:15    [22315596]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
Stanislav Bashkyrtsev,
Скрывать методы/не пущать слишком мало чтобы взлетело
28 апр 21, 13:41    [22315620]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5687
Basil A. Sidorov
mad_nazgul
Насколько я понял. Java-модули нужны только для создания компактных приложений.
Нет, вы поняли неправильно.
В самом начале книги, которую вы штудируете, объясняются цели и задачи создания модульной инфраструктуры. Ну и о проблемах и ограничениях тоже сказано.


Ну как-то для меня не убедительно пишут. :-)
Т.е. те же самые задачи раньше решались вроде бы не хуже.
Лично я понял, что можно собрать только нужные модули, не пихая в приложение всё.
28 апр 21, 13:45    [22315627]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11020
mad_nazgul
Т.е. те же самые задачи раньше решались вроде бы не хуже.
Технически - да, решались: всегда можно было "собрать правильный classpath" и, в целом, это работало.
Как быть, когда вы делаете библиотечный модуль, использовать который будут самые разные люди самой разной квалификации? При том, что "библиотечным" может стать любой пакет вашего собственного проекта.
28 апр 21, 14:14    [22315647]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11020
mad_nazgul
Лично я понял, что можно собрать только нужные модули, не пихая в приложение всё.
Модуляризация рантайма это совсем отдельная вещь. Да, в теории можно собрать микро-JRE, но на практике, в большинстве случаев, выигрыш в размере никак не окупит возни и сопутствующей фрагментации.
Модуляризация серьёзным образом развязывает руки разработчикам JRE/JDK, позволяя чётко отделить общедоступное API от деталей реализации, хотя технически эти детали реализованы публичными методами классов.
28 апр 21, 14:19    [22315652]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Вот тут основные цели описаны.
+

https://www.oracle.com/corporate/features/understanding-java-9-modules.html
Reliable configuration—Modularity provides mechanisms for explicitly declaring dependencies between modules in a manner that’s recognized both at compile time and execution time. The system can walk through these dependencies to determine the subset of all modules required to support your app.

Strong encapsulation—The packages in a module are accessible to other modules only if the module explicitly exports them. Even then, another module cannot use those packages unless it explicitly states that it requires the other module’s capabilities. This improves platform security because fewer classes are accessible to potential attackers. You may find that considering modularity helps you come up with cleaner, more logical designs.

Scalable Java platform—Previously, the Java platform was a monolith consisting of a massive number of packages, making it challenging to develop, maintain and evolve. It couldn’t be easily subsetted. The platform is now modularized into 95 modules (this number might change as Java evolves). You can create custom runtimes consisting of only modules you need for your apps or the devices you’re targeting. For example, if a device does not support GUIs, you could create a runtime that does not include the GUI modules, significantly reducing the runtime’s size.

Greater platform integrity—Before Java 9, it was possible to use many classes in the platform that were not meant for use by an app’s
classes. With strong encapsulation, these internal APIs are truly encapsulated and hidden from apps using the platform. This can make migrating legacy code to modularized Java 9 problematic if your code depends on internal APIs.

Improved performance—The JVM uses various optimization techniques to improve application performance. JSR 376 indicates that these techniques are more effective when it’s known in advance that required types are located only in specific modules.
28 апр 21, 14:24    [22315657]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
mayton,
И как там решены взаимозависимости?
28 апр 21, 14:33    [22315669]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Опиши проблему в других словах. А то мне непонятно что такое взаимозависимости. Транзитивные что-ли?
28 апр 21, 14:46    [22315673]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
mayton,
В твоей ссылке непонятен первый абзац.
Что то бла бла рекламное
28 апр 21, 14:52    [22315675]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
PetroNotC Sharp
mayton,
В твоей ссылке непонятен первый абзац.
Что то бла бла рекламное

А что тебе непонятно? Декларируешь что модуль А зависит от модуля B. И в скоуп компилляци больше ничего не попадает.
28 апр 21, 15:13    [22315690]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
mayton,

Формат какой? По русски писать? На литературном? На матерном?
28 апр 21, 15:38    [22315709]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
PetroNotC Sharp, мы падаем в какую-то профанацию. В девятке есть описательный механизм для зависимостей.
Ты это хотел спросить. Мне кажется тема топика - более сложная и не про формат.
28 апр 21, 15:52    [22315720]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11020
mayton
Декларируешь что модуль А зависит от модуля B. И в скоуп компилляци больше ничего не попадает.
Компиляция - немного особняком.
А вот во время исполнения JRE сможет обнаружить целый класс ошибок и неоднозначностей уже на этапе загрузки. А не "когда-нибудь потом в неожиданное время".
28 апр 21, 15:57    [22315725]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Да. Аналогичная ситуация у меня была с JavaSecurity Manager. Сколько ни продумывай на этапе разработки - в рантайме
все равно стрельнет что-то неоднозначное. Причем даже отладка SecurityManager не дает внятного пояснения какой привилегии
не хватате. Если выдать всем все - работает. А начнешь выдавать вручную - куча потоков упали. Тоже - тема пятничного топика.
Есть у меня парочка приложений которые нив какую не хотят дружить с SecurityManager.
28 апр 21, 16:39    [22315755]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
mayton,
Я понимаю тему буквально.
Использовал ли ты модули и как описывал зависимости.
28 апр 21, 16:45    [22315761]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Я использовал OSGI в реализации Apache Karaf.
28 апр 21, 17:22    [22315787]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
mayton,
Ты же печалился что у сишников нет менеджера зависимостей.
Дак его нет и в java именно для модулей.
А у шарпистов есть.
28 апр 21, 17:25    [22315789]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Сишники это особая порода людей. У них даже если такой менеджер появится - его будет очень
долго игнорировать.
28 апр 21, 17:34    [22315799]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
asv79
Member

Откуда: Тверь
Сообщений: 3319
сам топлю за переход на 16,но вот эти модули тоже не понял)
нужны очень сильно рекорды и еще сильней новые свитчи
28 апр 21, 21:50    [22315986]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
asv79
сам топлю за переход на 16,но вот эти модули тоже не понял)
нужны очень сильно рекорды и еще сильней новые свитчи


Расслабся. Просто они тебе не нужны.
28 апр 21, 23:37    [22316031]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5687
mayton
asv79
сам топлю за переход на 16,но вот эти модули тоже не понял)
нужны очень сильно рекорды и еще сильней новые свитчи


Расслабся. Просто они тебе не нужны.


Я бы сказал - они просто не нужны. :-)
29 апр 21, 06:32    [22316087]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
vimba
Member

Откуда: Санкт-Петербург
Сообщений: 2256
Для разработчиков JDK сама-то фича безусловно полезная, но было бы гораздо лучше если бы её не экспозили на уровень пользовательского кода. Это же когда через 10-15 лет все уйдут с java 8 быстро патчить сторонние библиотеки через подкладывание исправленного класса в classpath на первое место больше не получиться, ибо JPMS запрещает размытие пакета по нескольким jar, в итоге придётся замарачиваться пересборкой всей third-party dependency целиком даже если там одну строчку нужно подправить.
29 апр 21, 08:30    [22316114]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11020
asv79
сам топлю за переход на 16
В промышленной разработке и ещё никто не объяснил, что стабильность важнее фич???
29 апр 21, 11:29    [22316204]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
gmugar
Member

Откуда:
Сообщений: 23
доклад Никиты Липского который отлично разъясняет чем прекрасен Jigsaw:

вопрос не в том, использовать модули или нет:
если вы тот счастливчик, проект которого основан на чем то более свежем чем Java 8,
более чем стоит приложить усилия чтобы проект был основан на модулях

хотя бы потому, что это универсальное лекарство от JAR hell
20 май 21, 13:22    [22324713]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 2016
gmugar
доклад Никиты Липского который отлично разъясняет чем прекрасен Jigsaw:

вопрос не в том, использовать модули или нет:
если вы тот счастливчик, проект которого основан на чем то более свежем чем Java 8,
более чем стоит приложить усилия чтобы проект был основан на модулях

хотя бы потому, что это универсальное лекарство от JAR hell

И что делать в этом "универсальном лекарстве" если 2 модуля декларируют одинаковые exports? Расчехлять старый добрый shade plugin? При этом даже может не быть пересечения по классам
20 май 21, 15:00    [22324777]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Lelouch
gmugar
доклад Никиты Липского который отлично разъясняет чем прекрасен Jigsaw:

вопрос не в том, использовать модули или нет:
если вы тот счастливчик, проект которого основан на чем то более свежем чем Java 8,
более чем стоит приложить усилия чтобы проект был основан на модулях

хотя бы потому, что это универсальное лекарство от JAR hell

И что делать в этом "универсальном лекарстве" если 2 модуля декларируют одинаковые exports? Расчехлять старый добрый shade plugin? При этом даже может не быть пересечения по классам

Насколько я понимаю, модульность не предполагает взлома jar-ников. Нужно использовать модули as is.

А экспорты не должны быть одинаковыми хотя-бы потому-что package обычно определяет поставщика ПО и
этот поставщик обычно не создает внутренних конфликтов имен внутри себя.
20 май 21, 15:10    [22324782]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 2016
mayton
Lelouch
пропущено...

И что делать в этом "универсальном лекарстве" если 2 модуля декларируют одинаковые exports? Расчехлять старый добрый shade plugin? При этом даже может не быть пересечения по классам

Насколько я понимаю, модульность не предполагает взлома jar-ников. Нужно использовать модули as is.

А экспорты не должны быть одинаковыми хотя-бы потому-что package обычно определяет поставщика ПО и
этот поставщик обычно не создает внутренних конфликтов имен внутри себя.

К сожалению это не так, точно видел проблему с пересечением exports:
Modules org.aspectj.weaver and axiom.impl export package org.aspectj.lang.annotation to module jul.to.slf4j
То есть в теории наверное это так и должно быть, но на практике все не так радужно

P.S. Естественно, это "ошибка" авторов указанных модулей, но это не снимает с Module System вопроса "а что делать в таком случае?"
AFAIK, стандартных путей решения нет вообще и приходится "расчехлять старый добрый shade plugin" (ну или другими способами заниматься переупаковкой модулей)

Сообщение было отредактировано: 20 май 21, 15:18
20 май 21, 15:18    [22324789]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Давай развернем термин "расчехлять старый добрый shade plugin". Тоесть я хотел спросить как далеко
мы готовы зайти в попытке исправить ошибку декларации модулей. В моём понимании шейд-плагин
это реверс-инжинеринг и ассемблер зависимостей заново. И возможен ли альтернативный вариант.
20 май 21, 16:14    [22324827]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
gmugar
Member

Откуда:
Сообщений: 23
@Lelouch
вы привели прекрасный пример

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

вы такое в своей системе иметь точно не хотите

класс из aspectj в axiom-impl - это как раз такая история и, к слову, признанный косяк:
http://svn.apache.org/viewvc/webservices/axiom/branches/1.2.x/src/site/markdown/release-notes/1.2.23.md?view=markup&pathrev=1858616
который, вроде как, исправили в следующей версии (которая релизанется непонятно когда :( )

когда такая хрень во внешних библиотеках, разумных пути ровно два:
либо избавляться от такой библиотеки (к счастью, экосистема Java самая здоровая из всех ЯП, и достойную альтернативу можно найти почти всегда)
либо пинать ее разработчиков, чтобы чинили

это трудно, дорого, лениво: в итоге 65% из всех Java-проектов все еще на Java 8.

но это не отменяет того факта, что переход на модули сделает вашу систему чище и надежней.
усилия стоят того.
И уже тем паче стоят того, когда речь о новом проекте а не о замшелом легаси
20 май 21, 16:23    [22324835]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 2016
gmugar
@Lelouch
вы привели прекрасный пример

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

вы такое в своей системе иметь точно не хотите

класс из aspectj в axiom-impl - это как раз такая история и, к слову, признанный косяк:
http://svn.apache.org/viewvc/webservices/axiom/branches/1.2.x/src/site/markdown/release-notes/1.2.23.md?view=markup&pathrev=1858616
который, вроде как, исправили в следующей версии (которая релизанется непонятно когда :( )

когда такая хрень во внешних библиотеках, разумных пути ровно два:
либо избавляться от такой библиотеки (к счастью, экосистема Java самая здоровая из всех ЯП, и достойную альтернативу можно найти почти всегда)
либо пинать ее разработчиков, чтобы чинили

это трудно, дорого, лениво: в итоге 65% из всех Java-проектов все еще на Java 8.

но это не отменяет того факта, что переход на модули сделает вашу систему чище и надежней.
усилия стоят того.
И уже тем паче стоят того, когда речь о новом проекте а не о замшелом легаси


1) Честно - не вижу никакого смысла, есть и другие способы решения проблемы jar hell
2) А из оставшихся 35% (которые не на java 8) модули использует сколько процентов? 5? 10? (вот тут https://snyk.io/wp-content/uploads/jvm_2020.pdf на 19 странице сказано, что в 2020 году таких было аж 7%). И да - показательно, что никто не торопиться переходить на java 9+ - модули мало кому нужны. Темпы экспансии java 8 были гораздо выше.
3) У меня есть проекты где я специально переопределяю классы сторонних библиотек, чтобы добавить им функциональность, которая не предусмотрена. Что я должен в таком случае с модулями делать? Предупреждая вопрос - стандартного способа расширения функционала автором в этом месте не предусмотрено.

Сообщение было отредактировано: 20 май 21, 16:24
20 май 21, 16:30    [22324845]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Garrick
Member

Откуда: Москва
Сообщений: 3106
Lelouch,

А я вообще считаю, что выпуск 9-й версии есть ни что иное, как самая настоящая диверсия сами знаете кого. Убрали всё нужное и полезное, наложили кучу какого-то непонятного г... и потихому свалили.
:)
20 май 21, 16:45    [22324860]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 2016
gmugar,

И кстати, если на то пошло, то "из коробки" модульная система в Java вообще хреново решает проблему jar hell - просто не дает запустить приложение.
Если нужно (например из-за несовместимости в версиях) загрузить 2 разные версии классов - то нужно или "руками" мутить с ModuleLayer или опять же "ломать" модульную систему и переупаковывать классы.
Никаких стандартных решений модульная система для такой задачи не предоставляет.
20 май 21, 16:46    [22324862]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
В сентябре 21 года релизнется Java-17 LTS. Это будет уже третий LTS. И восьмерка станет не просто старой.
Она станет дважды старой. А 11-тка перейдет в раздел уже чего-то вторичного.

Стоит ли нам в этом топике обсуждать восьмерку? Ссылаясь на статистику использований, может быть.
Но по топику - неконструктивно. Тема топика - модули. Вот давайте про модули. Если кто хочет OSGI - то
давайте просто отдельным топиком.
20 май 21, 16:46    [22324863]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Garrick
Member

Откуда: Москва
Сообщений: 3106
mayton
В сентябре 21 года релизнется Java-17 LTS. Это будет уже третий LTS. И восьмерка станет не просто старой.
Она станет дважды старой. А 11-тка перейдет в раздел уже чего-то вторичного.

Смотрели даты окончания поддержки 8-й и 17-й версий?

mayton

Стоит ли нам в этом топике обсуждать восьмерку? Ссылаясь на статистику использований, может быть.
Но по топику - неконструктивно. Тема топика - модули. Вот давайте про модули. Если кто хочет OSGI - то
давайте просто отдельным топиком.

Так вроде уже выяснили - никому не надо.
20 май 21, 16:53    [22324873]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11020
Java9+ это не только модули, но и фичи.
Пилятся, например, API для внешней памяти и векторизации. Есть доработки сетевого стека.
Есть (Java 11+) расширенные права доступа для вложенных классов, чтобы компилятору не требовалось генерировать прокси-классы только для того, чтобы работать с "внутренностями" объемлющего класса.
20 май 21, 17:05    [22324885]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
gmugar
Member

Откуда:
Сообщений: 23
Lelouch
И кстати, если на то пошло, то "из коробки" модульная система в Java вообще хреново решает проблему jar hell - просто не дает запустить приложение.
Если нужно (например из-за несовместимости в версиях) загрузить 2 разные версии классов - то нужно или "руками" мутить с ModuleLayer или опять же "ломать" модульную систему и переупаковывать классы.
Никаких стандартных решений модульная система для такой задачи не предоставляет.

Вы видите это как недостаток, я - как достоинство.

Lelouch
1) Честно - не вижу никакого смысла, есть и другие способы решения проблемы jar hell

Вообще-то нет.
Вы конечно можете обложится анализаторами и организационными процедурами, которые дадут вам уверенность в том, что с зависимостями всё OK. Но уверенность - это не гарантия. Модули, как раз, дают гарантию, что приложение с определенными проблемами в зависимостях просто не стартует. Это гораздо лучше, чем получить мистику в рантайме.

Lelouch
3) У меня есть проекты где я специально переопределяю классы сторонних библиотек, чтобы добавить им функциональность, которая не предусмотрена. Что я должен в таком случае с модулями делать? Предупреждая вопрос - стандартного способа расширения функционала автором в этом месте не предусмотрено.

OK. вы воспользовались нюансами classloader и/или Reflection, чтобы "взломать" API внешней библиотеки в нарушение принципов здорового ОOП. Вот только это, согласить, грязный путь. Да, очень редко, бывает, что другого путь нет. Признаю. Но это не аргумент против модулей. Вы, собственно, говорите, что модули плохи именно тем, что закрывают, лазейки, для закрытия которых, они, собственно, и придуманы :)
20 май 21, 18:21    [22324918]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 2016
gmugar


Lelouch
1) Честно - не вижу никакого смысла, есть и другие способы решения проблемы jar hell

Вообще-то нет.
Вы конечно можете обложится анализаторами и организационными процедурами, которые дадут вам уверенность в том, что с зависимостями всё OK. Но уверенность - это не гарантия. Модули, как раз, дают гарантию, что приложение с определенными проблемами в зависимостях просто не стартует. Это гораздо лучше, чем получить мистику в рантайме.

Lelouch
3) У меня есть проекты где я специально переопределяю классы сторонних библиотек, чтобы добавить им функциональность, которая не предусмотрена. Что я должен в таком случае с модулями делать? Предупреждая вопрос - стандартного способа расширения функционала автором в этом месте не предусмотрено.

OK. вы воспользовались нюансами classloader и/или Reflection, чтобы "взломать" API внешней библиотеки в нарушение принципов здорового ОOП. Вот только это, согласить, грязный путь. Да, очень редко, бывает, что другого путь нет. Признаю. Но это не аргумент против модулей. Вы, собственно, говорите, что модули плохи именно тем, что закрывают, лазейки, для закрытия которых, они, собственно, и придуманы :)

1.1) Как же бедные разработчики до java 9 справлялись?)
1.2) Пока не будет описана как модули большая часть готовых библиотек (а затем не будут вычищены проблемы, как например приведенные выше) их использование будет постоянной головной болью
1.3) На мой вкус, сами по себе модули сделаны "не очень", как минимум в сравнении с теми же сборками в .net

3.1) Они делают эту лазейку чуть сложнее к использованию, но ничего не закрывают
3.2) КМК модули хорошо сделаны только для 1 цели - модуляризация самой java. Потому что в текущем виде они удобны только, если весь код решения контролируется разработчиком. Использование сторонних модулей сейчас скорее похоже на хождение по граблям - модулей или нет (большая часть библиотек) или могут быть собраны не так.

P.S. Если модули такие замечательные, почему ими практически никто не пользуется вот уже 3 года (или когда там java 9 вышла)? Почему не загнулся "страшный и костыльный" OSGi?
20 май 21, 21:59    [22325001]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 2016
gmugar,

Дополнительно в копилку проблем: Насколько я знаю (если поправите - буду рад), модули в текущем виде вообще не работают при сборке условного uber-jar.
20 май 21, 22:11    [22325004]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
gmugar
Member

Откуда:
Сообщений: 23
Lelouch
1.1) Как же бедные разработчики до java 9 справлялись?)
1.2) Пока не будет описана как модули большая часть готовых библиотек (а затем не будут вычищены проблемы, как например приведенные выше) их использование будет постоянной головной болью
1.3) На мой вкус, сами по себе модули сделаны "не очень", как минимум в сравнении с теми же сборками в .net

3.1) Они делают эту лазейку чуть сложнее к использованию, но ничего не закрывают
3.2) КМК модули хорошо сделаны только для 1 цели - модуляризация самой java. Потому что в текущем виде они удобны только, если весь код решения контролируется разработчиком. Использование сторонних модулей сейчас скорее похоже на хождение по граблям - модулей или нет (большая часть библиотек) или могут быть собраны не так.

P.S. Если модули такие замечательные, почему ими практически никто не пользуется вот уже 3 года (или когда там java 9 вышла)? Почему не загнулся "страшный и костыльный" OSGi?


Ну а как бедные разработчики до Java 5 (~10 лет) справлялись без volatile?
Жить-то можно и без новых фич. Как-то.

Моя мысль в том, что модули полезная функциональность, которая позволяет улучшить приложение и открывает некоторые новые возможности.
Не правильно ее игнорировать. И я не согласен, с тем что модули сделаны "не очень". Правильно они сделаны.

И, по моему опыту, нет никакой особой проблемы их использовать, если у вас новый проект и сразу на Java 9+.

Проблема не в модулях, а в экосистеме Java
Вдруг выяснилось, что лазить в закрытые части API и таскать себе в JARы куски кода вместе оригинальными пакетами - это норма.
Типа, что не запрещено, то, значит, можно.

В итоге имеем, то что имеем.
Lukas Eder (создатель JOOQ) писал год назад на reddit:
I tried twice to modularise jOOQ. I fought a gazillion IDE bugs and it ended up not working because of transitive dependencies that had split packages. Postponed again for a few years...

B это 3 года после релиза Java 9.

Но опять же, это не проблема модулей, а проблема повсеместной "грязи" в библиотеках и фреймфорках.

Ну и OSGi не надо тоже идеализировать. За пределами экосистемы IBM, его тоже не особо видно.
В библиотеках тоже никто особо не утруждает себя "Bundle-" свойства в MANIFEST.MF добавлять
(хотя это не стоит усилий почти что совсем и спецификации, к слову, уже 20 лет!)
И мой личный опыт проектов с OSGi совершенно не позитивный: все то о чем Никита Липский рассказывал я видел своими глазами.
22 май 21, 14:44    [22325690]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
asv79
Member

Откуда: Тверь
Сообщений: 3319
Stanislav Bashkyrtsev
Недавно таки решил попробовать перейти. И сразу обломался, потому как есть много зависимостей которые их не объявляют. И их не заставить работать если есть две библиотеки с одинаковыми пакетами.

Может кто-то таки использует? Идея кажется интересной, но как будто бы слишком мудрено все. В Java и так трудно начать че-то понимать новичкам, а тут еще такие сложности добавились.. Поэтому не понятно стоит ли усложнять свои проекты (если это не библиотека).

это называется jar hell
вроде как есть решения на основе ospj ( не помю точно абревиатуру) ,есть кастомные фичи ,мы например юзаем плагин от одной конторы который позвляет нам все это конфигрурировать и транзитивные зависимости в порядок приводить
и выглядит это типо вот так
guajava '1.15'='1.20'
тоесть когда разные либы тянут проблемную гужаву 1.15 они будут тянуть 1.20
тем самым мы избегаем джар хел
22 май 21, 19:31    [22325744]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3852
gmugar
Вдруг выяснилось, что лазить в закрытые части API и таскать себе в JARы куски кода вместе оригинальными пакетами - это норма

А в чем собственно проблема-то? Мне вот кажется, что величина "бедствия", из-за которого "придумали" модули, уж очень сильно преувеличена:
- вот если вы разработчик какого-то модуля/библиотеки, какое вам вообще дело до того, каким образом этот модуль/библиотеку используют в конечном приложении? Ну зашьется там кто-то на непубличную реализацию чего-то в каком-то определенном релизе, ну и что? ничего же страшного не произойдет от этого - тот кто это делает и так все риски понимает, а здесь получается, что фактически ваш модуль/библиотека на самом деле "так себе" (приходится же в кишки залазить) да еще вы сами запрещаете там что-либо менять, в конечном итоге это приведет к тому, что при подобном подходе вашему модулю/библиотеке довольно быстро найдут более гибкую альтернативу
- если вы заказчик/эксплуатант, то нужно хорошенько так подумать, чтобы подобные "новшества" тащить в продуктовую среду: сегодня мы можем в случае беды, взять что-то и отдельно опакетить/дернуть через рефлексию и решить проблему, а завтра уже не сможем (и здесь у меня есть стойкое ощущение, что все идет к тому, что все эти модули придуманы исключительно только для того, чтобы в дальнейшем на каждый чих впаривать коммерческую поддержку)

потребность в наличии модулей вроде как понятна со стороны безопасности, но есть кое-какая "проблема": апплеты еще лет 10 назад отменили, и никто теперь жавскую песочницу через рефлексию не пробивает, и за те же последние 10 лет я не могу припомнить, чтобы кому-то пришло в голову деплоить в одну JVM несколько разных приложений - от кого защищаемся-то? Выглядит вся эта история примерно также как с хранимыми процедурами в БД: уже 20 лет никто к БД напрямую пользователей не подключает, а старперы продолжают по-старинке писать хранимые процедуры, чтобы защитить непонятно что непонятно от кого.
22 май 21, 19:43    [22325746]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11020
Проблема в том, что "всякое" делают не конечные пользователи, которые могут разрулить всё, что надо в конкретной ситуации, а разработчики библиотек.
Т.е. разруливать надо не ситуацию, которую ты сам создал у себя, а гонять свинью, которая подложена кем-то другим.
23 май 21, 07:49    [22325797]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Bsplesk
Member

Откуда:
Сообщений: 242
Garrick
mayton
В сентябре 21 года релизнется Java-17 LTS. Это будет уже третий LTS. И восьмерка станет не просто старой.
Она станет дважды старой. А 11-тка перейдет в раздел уже чего-то вторичного.

Смотрели даты окончания поддержки 8-й и 17-й версий?

mayton

Стоит ли нам в этом топике обсуждать восьмерку? Ссылаясь на статистику использований, может быть.
Но по топику - неконструктивно. Тема топика - модули. Вот давайте про модули. Если кто хочет OSGI - то
давайте просто отдельным топиком.

Так вроде уже выяснили - никому не надо.


Как выяснилось не нужны LTS версии большим компаниям, не 17 не 117 и даже версия по годам (2021.4, 2022.1) не помогут (пример: LTS ядро Linux за неделю обновилось раз 7 - arch linux :), LTS бл. ). Нужно стабильное развитие и добавление фич решающих проблемы бизнеса, а не затаскивание все большего кол-во сахара, увеличивая сложность и чтение на чтение кода (в том числе джунами). В текущей реализации модули отчасти решают некоторые проблемы, но с другой создают новые, причем их решение обходится очень дорого и долго. В быстроменяющемся мире такие решения не нужны, всегда должен оставаться способ быстро поставить временную заплатку.

Бизнесу нужна java 1.9 или уже 2.0.
23 май 21, 13:18    [22325851]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11020
L(ong)T(erm)S(upport) и Stable - попиндикулярны, как те палочки.
Gentoo/Arch и прочая маргинальщина - "непрерывно обновляемые".
23 май 21, 14:30    [22325861]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Bsplesk
Member

Откуда:
Сообщений: 242
Basil A. Sidorov
L(ong)T(erm)S(upport) и Stable - попиндикулярны, как те палочки.
.


Бизнесу нужно Stable, а не "попиндикулярный" LTS и обновлениями по 7 раз в неделю * на зоопарк реализаций и надеждой через "пяток" лет стать "Stable".
Если не будет внятных изменений, то будет 8 жить до 2030 года, а там "Либо ишак сдохнет, либо падишах"

Сообщение было отредактировано: 23 май 21, 17:42
23 май 21, 17:47    [22325907]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11020
Тогда несколько глупо сравнивать политику обновлений ядра в "непрерывно обновляемых" дистрибутивах линукса и политику обновлений в OpenJDK. Они разные, мягко говоря.
23 май 21, 18:44    [22325925]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Bsplesk
Member

Откуда:
Сообщений: 242
Basil A. Sidorov
глупо


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

Вот такие ядра по default предлагает Arch Linux (rolling release). Ниже видно, что есть возможность установить LTS L(ong)T(erm)S(upport) ядро. Когда выбирают LTS часто подразумевают, что это что-то стабильное (готовое в production), но это не так, по больше части просто фриз фич на какой-то момент, но сами фичи могут вообще не работать или падать при любом чихе и самое интересно, что может оказаться, что в этом LTS их не починят, а следующего LTS пока нет (прошу обратить на это внимание - это важно).

core/linux 5.12.4.arch1-2
    The Linux kernel and modules
core/linux-lts 5.10.37-1 [installed: 5.10.33-1]
    The LTS Linux kernel and modules

Обновил пакеты и получил (обратите внимание 39-1)
core/linux 5.12.6.arch1-1
    The Linux kernel and modules
core/linux-lts 5.10.39-1 [installed: 5.10.33-1]


Что-же делать если bug есть, а исправления не будет?
  • Платить за разработку/доработку jvm из свое кармана (и это не включено в поддержку, ту самую L(ong)T(erm)S(upport));
  • Обновлять не на LTS и стать бесплатным тестировщиком, возможно на проде :);
  • Arch Linux Archive (a.k.a ALA), formerly known as Arch Linux Rollback Machine (a.k.a ARM)), но без обновлений, в том числе безопасности (это просто фриз пакетов);

а теперь внимательно смотрим ролик и отказ от разных версий и что это будет значить - только не на только технические моменты, но и макретинговые/монитизационные.
23 май 21, 20:06    [22325943]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Bsplesk
Member

Откуда:
Сообщений: 242
И в добавок по пунктам (по ролику).
- Модульность с циклами - всё в ваших руках, не нужны - так не делайте их;
- Hot Redeploy - классная штука, если у вас большое приложение, которое деплоится по 30 мин, то при разработке + удаленная отладка это прямо глоток воздуха - "тыкнул" и уже поправил. Да есть ограничения (но даже если нужно reboot 2 модулей из 15 - то это супер). И опять же на проде вас так делать никто не заставлять, а на dev в случае проблем и EE можно ребутнуть или не заморачиваться и пилить микросервисы со Spring Boot. Сервис меньше/билд короче, сервер приложений встроенный;
- Нет защиты от loading constraints, да не все гладко. Пример: Проблема/решение: https://www.ibm.com/support/pages/javalangverifyerror-jvmvrfy013-class-loading-constraint-violated-error-occurs-websphere-application-server-using-ibm-technology-jvm
- Нет защиты от доступа через Reflection - и не нужно, это классная штука, сделал правку (быстро решил проблему), открыл issue у вендора.... месяцев ~ может и поправят. Бизнес должен работать, а не ждать вендора. Не все библиотеки открытые.
- Порядок активации - боль, но её нужно решать как-то по другому.

Сообщение было отредактировано: 23 май 21, 20:42
23 май 21, 20:49    [22325957]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Некоторые банки имеют свой собственный форк OpenJDK. Его сертифицируют для себя и на него разрабатывают
и накатывают собственные фиксы безопасности. И разумеется смена мажорной версии здесь будет смерти
подобна IMHO. Поэтому и LTS лучше IMHO.

Сообщение было отредактировано: 23 май 21, 23:48
23 май 21, 23:57    [22326002]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11020
Bsplesk
Возможно вы правы, но предлагаю посмотреть с другой стороны.
Вот такие ядра по default предлагает Arch Linux (rolling release). Ниже видно, что есть возможность установить LTS L(ong)T(erm)S(upport) ядро. Когда выбирают LTS часто подразумевают
Подразумевать можно всё, что угодно, но определяющим (в этом случае) являет "rolling release".
И это ваш осознанный выбор. Даже если вы плохо подумали или не подумали вообще.
а теперь внимательно смотрим ролик и отказ от разных версий и что это будет значить - только не на только технические моменты, но и макретинговые/монитизационные.
Ролик, вроде как, был про Java. Это совершенно другой продукт и совершенно другая политика обновления.
1. Oracle, после покупки SUN, перевёл разработку в OpenJDK. Собственная сборка Oracle стала отличаться наличием JavaFX и (лицензируемых) коммерческих фич;
2. Далее, после некоторых пертурбаций (изменено лицензирование пророческой сборки), из Java выкинули Java WebStart, а JavaEE и JavaFX выделили в отдельные проекты. Базовая часть (условная Core Java) передана в Eclipse и оформлена как AdoptOpenJDK;
3. IBM передала в OpenJDK собственный вариант (J9), а Oracle - коммерческие фичи своей сборки. AdoptOpenJDK собирает HotSpot и J9 для Java 8+ под разные платформы и предоставляет репозитории/установщики для разных систем;
4. Версии OpenJDK Java9+ делятся на "проходные" и "долгосрочные". Отличаются сроком поддержки: полгода и не менее шести(?) лет, соответственно.
"Проходные" это все версии Java 9+, кроме Java 11 (как минимум до 2024 года).
На проходных версиях отрабатывают разные экспериментальные фичи. Долгосрочные формируют из стабильного набора фич и, по мере возможности, в них портируют наработки из проходных версий.
Сборки всех версий выходят раз в три месяца и включают как исправления ошибок, так и новые возможности.

Кроме AdoptOpenJDK и Oracle, сборки JRE/JDK делают многие компании.
Пророки лицензируют свою сборку исключительно на коммерческой основе.
Остальные, насколько я могу судить, свободно предоставляют бинарники и продают техническую поддержку.
Поддержка включает внеочередные сборки с исправлениями уязвимостей/ошибок или/и "персонально ваших проблем", а также расширенные сроки поддержки версий.

Осторожнее, в общем, с кванторами всеобщности и не надо проецировать местечковые особенности своей эпсилон-окрестности на весь мир, "даже если вы гугль".
24 май 21, 05:06    [22326024]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Bsplesk
Member

Откуда:
Сообщений: 242
Basil A. Sidorov,

автор
"В одно окно смотрели двое.
Один увидел дождь и грязь,
Другой — листвы зеленой вязь,
Весну и небо голубое.
В одно окно смотрели двое. "


Модули и запрет версий, введение LTS/не LTS - это как раз и есть rolling release.
Смотрите - при обновлении модуля a он подтянул за собой обновление модулей b,c,d,e.
Модули (ранние их версии) b,c,d,e. используются в модулях q,w,e,r,y, Чтобы выкатить поставку вам нужно обновить их все!
Теперь посчитайте в $ какой объём работы вам нужно проделать, по большей части пустой, т.к. модули q,w,e,r,y прекрасно работали со старой версией, а в модуле a разработчик просто решил использовать последнюю версию.

Сообщение было отредактировано: 24 май 21, 10:00
24 май 21, 10:03    [22326060]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11020
Bsplesk
Модули и запрет версий, введение LTS/не LTS - это как раз и есть rolling release.
Да с хренов ли???
Список фич LTS известен сильно заранее. LTS версии выходят раз в три года, а проходные - позволяют посмотреть/опробовать то, что потенциально войдёт в очередную LTS версию.
Кроме того, никто не заставляет немедленно обновляться при выходе новой LTS.
LTS17 выйдет этой осенью, а LTS11 продолжит обновляться, как минимум, до 2024 года.
Смотрите - при обновлении модуля a он подтянул за собой обновление модулей b,c,d,e.
Это всё, конечно, замечательно, но при чём тут Java-рантайм???
Если разработчики конкретной библиотеки забили модуляризацию или/и забили на обратную совместимость, то в каком месте это проблема Java-рантайма?
24 май 21, 12:09    [22326139]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
asv79
Member

Откуда: Тверь
Сообщений: 3319
Basil A. Sidorov
asv79
сам топлю за переход на 16
В промышленной разработке и ещё никто не объяснил, что стабильность важнее фич???

что такое стабильность?)
не 15 багов в час а 10?))
по факту переезды зависят от того,насколько креативен ваш лид- если там за 50 - то будете на 8ке сидеть до конца своих дней
если помоложе- 11я светит,ну а если совсем молодой то в сентябре или когда там 16я )
25 май 21, 19:00    [22327021]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
asv79
Member

Откуда: Тверь
Сообщений: 3319
Bsplesk
Basil A. Sidorov,

автор
"В одно окно смотрели двое.
Один увидел дождь и грязь,
Другой — листвы зеленой вязь,
Весну и небо голубое.
В одно окно смотрели двое. "


Модули и запрет версий, введение LTS/не LTS - это как раз и есть rolling release.
Смотрите - при обновлении модуля a он подтянул за собой обновление модулей b,c,d,e.
Модули (ранние их версии) b,c,d,e. используются в модулях q,w,e,r,y, Чтобы выкатить поставку вам нужно обновить их все!
Теперь посчитайте в $ какой объём работы вам нужно проделать, по большей части пустой, т.к. модули q,w,e,r,y прекрасно работали со старой версией, а в модуле a разработчик просто решил использовать последнюю версию.

ты можешь юзать плагин,который будет определять модулям те зависимости,которые ты хочешь и если как ты пишешь кто то решил тянуть новую версию в модуле- ты можешь это дело легко контролировать указывая какие версии библиотек ты хочешь видеть
тоесть по факту $объем как ты выразился будет лишь в том- чтобы протестировать совместимости- что равно ровно пара дошираков + кофе для тестировщика )
25 май 21, 19:06    [22327023]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Bsplesk
Member

Откуда:
Сообщений: 242
asv79,

Ну смех же. Кого контролировать? авторов сторонних библиотек, которые используешь (в случае OpenSource, часто халявно).

Так вот авторам - совершенно фиолетово, что вы у себя там контролируете. Поставили вас перед фактом - в новой версии с исправленным критичным bug используется новая major
(обратнонесовместимая) версия/версии библиотек и всё - будьте добры обновите все чужие и свои модули.

Так, что - пару дошираков, пожалуйста, в $, каждому разработчику, тестировщику, кто использует эту библиотеку на обновление своих модулей.
26 май 21, 20:00    [22327662]     Ответить | Цитировать Сообщить модератору
 Re: Использует ли кто-то Java Modules?  [new]
Bsplesk
Member

Откуда:
Сообщений: 242
+ к теме

26 май 21, 20:19    [22327671]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3      [все]
Все форумы / Java Ответить