powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Использует ли кто-то Java Modules?
63 сообщений из 63, показаны все 3 страниц
Использует ли кто-то Java Modules?
    #40066525
Недавно таки решил попробовать перейти. И сразу обломался, потому как есть много зависимостей которые их не объявляют. И их не заставить работать если есть две библиотеки с одинаковыми пакетами.

Может кто-то таки использует? Идея кажется интересной, но как будто бы слишком мудрено все. В Java и так трудно начать че-то понимать новичкам, а тут еще такие сложности добавились.. Поэтому не понятно стоит ли усложнять свои проекты (если это не библиотека).
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066540
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev,
Я тоже не нашел смысла использовать.
Даже в чем идея в отличии от тебя не понял.
Спринг народу лучше зашел. И стримы)). Примерно за квартал-год.
Тема была одна всего и то пару фраз.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066643
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока сборщики не понимают Java modules, складывается забавная ситуация. Есть maven-modules и Java-modules.
И как нам различать эту семантику? Нужна какая-то теория которая это все обобщит. Иначе будет хаос терминологии
и непонимание.

И нужен какой-то эффективный семпл проекта гда без Java модулей - ну вообще просто никак. Из примеров
я на хабре видел статьи с GraalVM которые использовали эти возможности.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066656
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала рекомендую почитать эту книгу.
Щас её потихоньку штудирую.


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


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

Stanislav Bashkyrtsev

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


Я лично только в теории.
Т.к. тот же SpringBoot и использует модули, но как бы мне пока беспокоиться не надо, т.к. все нужные модули уже есть в зависимостях SpringBoot.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066658
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Пока сборщики не понимают Java modules, складывается забавная ситуация. Есть maven-modules и Java-modules.
И как нам различать эту семантику? Нужна какая-то теория которая это все обобщит. Иначе будет хаос терминологии
и непонимание.

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


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

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

Но вот думаю для каких нибудь вещей типа AWS Lambda возможно и актуально.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066659
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
Где спринг использует если их не видно?
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066666
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
Насколько я понял. Java-модули нужны только для создания компактных приложений.
Нет, вы поняли неправильно.
В самом начале книги, которую вы штудируете, объясняются цели и задачи создания модульной инфраструктуры. Ну и о проблемах и ограничениях тоже сказано.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066693
mad_nazgulНасколько я понял. Java-модули нужны только для создания компактных приложений.Я так понимаю что задача в том чтоб не экспортировать все публичные классы наружу. Т.е. пишем либу, в которой несколько пакетов. Чтоб пакеты были видны в другом пакете приходится делать классы public. Но это также дает доступ к этим классам и всем проектам кто будет использовать либу. Что значит что менять эти классы нельзя, ибо ломает обратную совместимость. Т.е. модули должны предоставить больше инкапсуляции.
maytonПока сборщики не понимают Java modules, складывается забавная ситуация. Есть maven-modules и Java-modules.Ну Maven умеет с модулями работать. Он автоматически создает модули из библиотек которые их не поддерживают и передает их в module-path. А все что для тестирования продолжает жить в class-path.

Хотя насколько я понимаю зависимости все равно надо в двух местах описывать. Сначала в pom.xml, затем в module-info.java. Но соответственно не все зависимости там нужны будут, от транзитивных модулей мы зависеть не будем.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066710
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev,
Скрывать методы/не пущать слишком мало чтобы взлетело
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066716
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
mad_nazgul
Насколько я понял. Java-модули нужны только для создания компактных приложений.
Нет, вы поняли неправильно.
В самом начале книги, которую вы штудируете, объясняются цели и задачи создания модульной инфраструктуры. Ну и о проблемах и ограничениях тоже сказано.


Ну как-то для меня не убедительно пишут. :-)
Т.е. те же самые задачи раньше решались вроде бы не хуже.
Лично я понял, что можно собрать только нужные модули, не пихая в приложение всё.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066727
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
Т.е. те же самые задачи раньше решались вроде бы не хуже.
Технически - да, решались: всегда можно было "собрать правильный classpath" и, в целом, это работало.
Как быть, когда вы делаете библиотечный модуль, использовать который будут самые разные люди самой разной квалификации? При том, что "библиотечным" может стать любой пакет вашего собственного проекта.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066731
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
Лично я понял, что можно собрать только нужные модули, не пихая в приложение всё.
Модуляризация рантайма это совсем отдельная вещь. Да, в теории можно собрать микро-JRE, но на практике, в большинстве случаев, выигрыш в размере никак не окупит возни и сопутствующей фрагментации.
Модуляризация серьёзным образом развязывает руки разработчикам JRE/JDK, позволяя чётко отделить общедоступное API от деталей реализации, хотя технически эти детали реализованы публичными методами классов.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066735
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тут основные цели описаны.

https://www.oracle.com/corporate/features/understanding-java-9-modules.htmlReliable 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.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066747
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
И как там решены взаимозависимости?
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066750
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опиши проблему в других словах. А то мне непонятно что такое взаимозависимости. Транзитивные что-ли?
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066751
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
В твоей ссылке непонятен первый абзац.
Что то бла бла рекламное
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066762
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
В твоей ссылке непонятен первый абзац.
Что то бла бла рекламное

А что тебе непонятно? Декларируешь что модуль А зависит от модуля B. И в скоуп компилляци больше ничего не попадает.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066777
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Формат какой? По русски писать? На литературном? На матерном?
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066786
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp, мы падаем в какую-то профанацию. В девятке есть описательный механизм для зависимостей.
Ты это хотел спросить. Мне кажется тема топика - более сложная и не про формат.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066789
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Декларируешь что модуль А зависит от модуля B. И в скоуп компилляци больше ничего не попадает.
Компиляция - немного особняком.
А вот во время исполнения JRE сможет обнаружить целый класс ошибок и неоднозначностей уже на этапе загрузки. А не "когда-нибудь потом в неожиданное время".
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066810
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Аналогичная ситуация у меня была с JavaSecurity Manager. Сколько ни продумывай на этапе разработки - в рантайме
все равно стрельнет что-то неоднозначное. Причем даже отладка SecurityManager не дает внятного пояснения какой привилегии
не хватате. Если выдать всем все - работает. А начнешь выдавать вручную - куча потоков упали. Тоже - тема пятничного топика.
Есть у меня парочка приложений которые нив какую не хотят дружить с SecurityManager.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066815
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Я понимаю тему буквально.
Использовал ли ты модули и как описывал зависимости.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066836
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я использовал OSGI в реализации Apache Karaf.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066838
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Ты же печалился что у сишников нет менеджера зависимостей.
Дак его нет и в java именно для модулей.
А у шарпистов есть.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40066845
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сишники это особая порода людей. У них даже если такой менеджер появится - его будет очень
долго игнорировать.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40067000
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сам топлю за переход на 16,но вот эти модули тоже не понял)
нужны очень сильно рекорды и еще сильней новые свитчи
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40067027
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
сам топлю за переход на 16,но вот эти модули тоже не понял)
нужны очень сильно рекорды и еще сильней новые свитчи


Расслабся. Просто они тебе не нужны.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40067057
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
asv79
сам топлю за переход на 16,но вот эти модули тоже не понял)
нужны очень сильно рекорды и еще сильней новые свитчи


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


Я бы сказал - они просто не нужны. :-)
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40067073
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для разработчиков JDK сама-то фича безусловно полезная, но было бы гораздо лучше если бы её не экспозили на уровень пользовательского кода. Это же когда через 10-15 лет все уйдут с java 8 быстро патчить сторонние библиотеки через подкладывание исправленного класса в classpath на первое место больше не получиться, ибо JPMS запрещает размытие пакета по нескольким jar, в итоге придётся замарачиваться пересборкой всей third-party dependency целиком даже если там одну строчку нужно подправить.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40067137
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
сам топлю за переход на 16
В промышленной разработке и ещё никто не объяснил, что стабильность важнее фич???
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40071647
gmugar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доклад Никиты Липского который отлично разъясняет чем прекрасен Jigsaw:
YouTube Video
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40071686
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quote=gmugar]доклад Никиты Липского который отлично разъясняет чем прекрасен Jigsaw:
YouTube Video
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40071690
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quote=Lelouch] [quote=gmugar]доклад Никиты Липского который отлично разъясняет чем прекрасен Jigsaw:
YouTube Video
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40071695
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Lelouch
пропущено...

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

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

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

К сожалению это не так, точно видел проблему с пересечением exports:
Код: plaintext
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" (ну или другими способами заниматься переупаковкой модулей)
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40071720
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давай развернем термин "расчехлять старый добрый shade plugin". Тоесть я хотел спросить как далеко
мы готовы зайти в попытке исправить ошибку декларации модулей. В моём понимании шейд-плагин
это реверс-инжинеринг и ассемблер зависимостей заново. И возможен ли альтернативный вариант.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40071723
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.

но это не отменяет того факта, что переход на модули сделает вашу систему чище и надежней.
усилия стоят того.
И уже тем паче стоят того, когда речь о новом проекте а не о замшелом легаси
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40071728
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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) У меня есть проекты где я специально переопределяю классы сторонних библиотек, чтобы добавить им функциональность, которая не предусмотрена. Что я должен в таком случае с модулями делать? Предупреждая вопрос - стандартного способа расширения функционала автором в этом месте не предусмотрено.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40071732
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch,

А я вообще считаю, что выпуск 9-й версии есть ни что иное, как самая настоящая диверсия сами знаете кого. Убрали всё нужное и полезное, наложили кучу какого-то непонятного г... и потихому свалили.
:)
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40071733
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gmugar,

И кстати, если на то пошло, то "из коробки" модульная система в Java вообще хреново решает проблему jar hell - просто не дает запустить приложение.
Если нужно (например из-за несовместимости в версиях) загрузить 2 разные версии классов - то нужно или "руками" мутить с ModuleLayer или опять же "ломать" модульную систему и переупаковывать классы.
Никаких стандартных решений модульная система для такой задачи не предоставляет.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40071734
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В сентябре 21 года релизнется Java-17 LTS. Это будет уже третий LTS. И восьмерка станет не просто старой.
Она станет дважды старой. А 11-тка перейдет в раздел уже чего-то вторичного.

Стоит ли нам в этом топике обсуждать восьмерку? Ссылаясь на статистику использований, может быть.
Но по топику - неконструктивно. Тема топика - модули. Вот давайте про модули. Если кто хочет OSGI - то
давайте просто отдельным топиком.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40071736
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
В сентябре 21 года релизнется Java-17 LTS. Это будет уже третий LTS. И восьмерка станет не просто старой.
Она станет дважды старой. А 11-тка перейдет в раздел уже чего-то вторичного.

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

mayton

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

Так вроде уже выяснили - никому не надо.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40071742
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Java9+ это не только модули, но и фичи.
Пилятся, например, API для внешней памяти и векторизации. Есть доработки сетевого стека.
Есть (Java 11+) расширенные права доступа для вложенных классов, чтобы компилятору не требовалось генерировать прокси-классы только для того, чтобы работать с "внутренностями" объемлющего класса.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40071754
gmugar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LelouchИ кстати, если на то пошло, то "из коробки" модульная система в Java вообще хреново решает проблему jar hell - просто не дает запустить приложение.
Если нужно (например из-за несовместимости в версиях) загрузить 2 разные версии классов - то нужно или "руками" мутить с ModuleLayer или опять же "ломать" модульную систему и переупаковывать классы.
Никаких стандартных решений модульная система для такой задачи не предоставляет.
Вы видите это как недостаток, я - как достоинство.

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

Lelouch3) У меня есть проекты где я специально переопределяю классы сторонних библиотек, чтобы добавить им функциональность, которая не предусмотрена. Что я должен в таком случае с модулями делать? Предупреждая вопрос - стандартного способа расширения функционала автором в этом месте не предусмотрено.
OK. вы воспользовались нюансами classloader и/или Reflection, чтобы "взломать" API внешней библиотеки в нарушение принципов здорового ОOП. Вот только это, согласить, грязный путь. Да, очень редко, бывает, что другого путь нет. Признаю. Но это не аргумент против модулей. Вы, собственно, говорите, что модули плохи именно тем, что закрывают, лазейки, для закрытия которых, они, собственно, и придуманы :)
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40071781
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gmugar


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

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

Lelouch3) У меня есть проекты где я специально переопределяю классы сторонних библиотек, чтобы добавить им функциональность, которая не предусмотрена. Что я должен в таком случае с модулями делать? Предупреждая вопрос - стандартного способа расширения функционала автором в этом месте не предусмотрено.
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?
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40071782
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gmugar,

Дополнительно в копилку проблем: Насколько я знаю (если поправите - буду рад), модули в текущем виде вообще не работают при сборке условного uber-jar.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40072177
gmugar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lelouch1.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 совершенно не позитивный: все то о чем Никита Липский рассказывал я видел своими глазами.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40072211
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
Недавно таки решил попробовать перейти. И сразу обломался, потому как есть много зависимостей которые их не объявляют. И их не заставить работать если есть две библиотеки с одинаковыми пакетами.

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

это называется jar hell
вроде как есть решения на основе ospj ( не помю точно абревиатуру) ,есть кастомные фичи ,мы например юзаем плагин от одной конторы который позвляет нам все это конфигрурировать и транзитивные зависимости в порядок приводить
и выглядит это типо вот так
guajava '1.15'='1.20'
тоесть когда разные либы тянут проблемную гужаву 1.15 они будут тянуть 1.20
тем самым мы избегаем джар хел
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40072213
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gmugar
Вдруг выяснилось, что лазить в закрытые части API и таскать себе в JARы куски кода вместе оригинальными пакетами - это норма

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

потребность в наличии модулей вроде как понятна со стороны безопасности, но есть кое-какая "проблема": апплеты еще лет 10 назад отменили, и никто теперь жавскую песочницу через рефлексию не пробивает, и за те же последние 10 лет я не могу припомнить, чтобы кому-то пришло в голову деплоить в одну JVM несколько разных приложений - от кого защищаемся-то? Выглядит вся эта история примерно также как с хранимыми процедурами в БД: уже 20 лет никто к БД напрямую пользователей не подключает, а старперы продолжают по-старинке писать хранимые процедуры, чтобы защитить непонятно что непонятно от кого.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40072253
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема в том, что "всякое" делают не конечные пользователи, которые могут разрулить всё, что надо в конкретной ситуации, а разработчики библиотек.
Т.е. разруливать надо не ситуацию, которую ты сам создал у себя, а гонять свинью, которая подложена кем-то другим.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40072279
Bsplesk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40072284
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L(ong)T(erm)S(upport) и Stable - попиндикулярны, как те палочки.
Gentoo/Arch и прочая маргинальщина - "непрерывно обновляемые".
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40072298
Bsplesk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov
L(ong)T(erm)S(upport) и Stable - попиндикулярны, как те палочки.
.


Бизнесу нужно Stable, а не "попиндикулярный" LTS и обновлениями по 7 раз в неделю * на зоопарк реализаций и надеждой через "пяток" лет стать "Stable".
Если не будет внятных изменений, то будет 8 жить до 2030 года, а там "Либо ишак сдохнет, либо падишах"
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40072303
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда несколько глупо сравнивать политику обновлений ядра в "непрерывно обновляемых" дистрибутивах линукса и политику обновлений в OpenJDK. Они разные, мягко говоря.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40072316
Bsplesk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov
глупо


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

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

Код: php
1.
2.
3.
4.
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 )
Код: php
1.
2.
3.
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) ), но без обновлений, в том числе безопасности (это просто фриз пакетов);
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40072323
Bsplesk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И в добавок по пунктам (по ролику).
- Модульность с циклами - всё в ваших руках, не нужны - так не делайте их;
- 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 у вендора.... месяцев ~ может и поправят. Бизнес должен работать, а не ждать вендора. Не все библиотеки открытые.
- Порядок активации - боль, но её нужно решать как-то по другому.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40072347
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Некоторые банки имеют свой собственный форк OpenJDK. Его сертифицируют для себя и на него разрабатывают
и накатывают собственные фиксы безопасности. И разумеется смена мажорной версии здесь будет смерти
подобна IMHO. Поэтому и LTS лучше IMHO.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40072360
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 делают многие компании.
Пророки лицензируют свою сборку исключительно на коммерческой основе.
Остальные, насколько я могу судить, свободно предоставляют бинарники и продают техническую поддержку.
Поддержка включает внеочередные сборки с исправлениями уязвимостей/ошибок или/и "персонально ваших проблем", а также расширенные сроки поддержки версий.

Осторожнее, в общем, с кванторами всеобщности и не надо проецировать местечковые особенности своей эпсилон-окрестности на весь мир, "даже если вы гугль".
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40072379
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 разработчик просто решил использовать последнюю версию.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40072419
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bsplesk
Модули и запрет версий, введение LTS/не LTS - это как раз и есть rolling release.
Да с хренов ли???
Список фич LTS известен сильно заранее. LTS версии выходят раз в три года, а проходные - позволяют посмотреть/опробовать то, что потенциально войдёт в очередную LTS версию.
Кроме того, никто не заставляет немедленно обновляться при выходе новой LTS.
LTS17 выйдет этой осенью, а LTS11 продолжит обновляться, как минимум, до 2024 года.Смотрите - при обновлении модуля a он подтянул за собой обновление модулей b,c,d,e.Это всё, конечно, замечательно, но при чём тут Java-рантайм???
Если разработчики конкретной библиотеки забили модуляризацию или/и забили на обратную совместимость, то в каком месте это проблема Java-рантайма?
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40072859
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
asv79
сам топлю за переход на 16
В промышленной разработке и ещё никто не объяснил, что стабильность важнее фич???

что такое стабильность?)
не 15 багов в час а 10?))
по факту переезды зависят от того,насколько креативен ваш лид- если там за 50 - то будете на 8ке сидеть до конца своих дней
если помоложе- 11я светит,ну а если совсем молодой то в сентябре или когда там 16я )
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40072861
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 разработчик просто решил использовать последнюю версию.
ты можешь юзать плагин,который будет определять модулям те зависимости,которые ты хочешь и если как ты пишешь кто то решил тянуть новую версию в модуле- ты можешь это дело легко контролировать указывая какие версии библиотек ты хочешь видеть
тоесть по факту $объем как ты выразился будет лишь в том- чтобы протестировать совместимости- что равно ровно пара дошираков + кофе для тестировщика )
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40073293
Bsplesk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asv79,

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

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

Так, что - пару дошираков, пожалуйста, в $, каждому разработчику, тестировщику, кто использует эту библиотеку на обновление своих модулей.
...
Рейтинг: 0 / 0
Использует ли кто-то Java Modules?
    #40073300
Bsplesk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
+ к теме

YouTube Video
...
Рейтинг: 0 / 0
63 сообщений из 63, показаны все 3 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Использует ли кто-то Java Modules?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]