|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
Недавно таки решил попробовать перейти. И сразу обломался, потому как есть много зависимостей которые их не объявляют. И их не заставить работать если есть две библиотеки с одинаковыми пакетами. Может кто-то таки использует? Идея кажется интересной, но как будто бы слишком мудрено все. В Java и так трудно начать че-то понимать новичкам, а тут еще такие сложности добавились.. Поэтому не понятно стоит ли усложнять свои проекты (если это не библиотека). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 00:30 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev, Я тоже не нашел смысла использовать. Даже в чем идея в отличии от тебя не понял. Спринг народу лучше зашел. И стримы)). Примерно за квартал-год. Тема была одна всего и то пару фраз. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 07:00 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
Пока сборщики не понимают Java modules, складывается забавная ситуация. Есть maven-modules и Java-modules. И как нам различать эту семантику? Нужна какая-то теория которая это все обобщит. Иначе будет хаос терминологии и непонимание. И нужен какой-то эффективный семпл проекта гда без Java модулей - ну вообще просто никак. Из примеров я на хабре видел статьи с GraalVM которые использовали эти возможности. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 12:10 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
Для начала рекомендую почитать эту книгу. Щас её потихоньку штудирую. Stanislav Bashkyrtsev Недавно таки решил попробовать перейти. И сразу обломался, потому как есть много зависимостей которые их не объявляют. И их не заставить работать если есть две библиотеки с одинаковыми пакетами. Скажем так. Во время активной разработки модулей, там натолкнулись на NP-полную задачу при опредлении зависимостей. Поэтому волевым решением сделали ограничение на работу с модулями с одинаковыми пакетами. Stanislav Bashkyrtsev Может кто-то таки использует? Идея кажется интересной, но как будто бы слишком мудрено все. В Java и так трудно начать че-то понимать новичкам, а тут еще такие сложности добавились.. Поэтому не понятно стоит ли усложнять свои проекты (если это не библиотека). Я лично только в теории. Т.к. тот же SpringBoot и использует модули, но как бы мне пока беспокоиться не надо, т.к. все нужные модули уже есть в зависимостях SpringBoot. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 12:32 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
mayton Пока сборщики не понимают Java modules, складывается забавная ситуация. Есть maven-modules и Java-modules. И как нам различать эту семантику? Нужна какая-то теория которая это все обобщит. Иначе будет хаос терминологии и непонимание. И нужен какой-то эффективный семпл проекта гда без Java модулей - ну вообще просто никак. Из примеров я на хабре видел статьи с GraalVM которые использовали эти возможности. Насколько я понял. Java-модули нужны только для создания компактных приложений. Т..е. мы берем только нужное, явно это указывая. В связи со Spring'ом головного мозга, мне это как бы не нужно. Но вот думаю для каких нибудь вещей типа AWS Lambda возможно и актуально. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 12:37 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
mad_nazgul, Где спринг использует если их не видно? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 12:38 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
mad_nazgul Насколько я понял. Java-модули нужны только для создания компактных приложений. В самом начале книги, которую вы штудируете, объясняются цели и задачи создания модульной инфраструктуры. Ну и о проблемах и ограничениях тоже сказано. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 12:44 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
mad_nazgulНасколько я понял. Java-модули нужны только для создания компактных приложений.Я так понимаю что задача в том чтоб не экспортировать все публичные классы наружу. Т.е. пишем либу, в которой несколько пакетов. Чтоб пакеты были видны в другом пакете приходится делать классы public. Но это также дает доступ к этим классам и всем проектам кто будет использовать либу. Что значит что менять эти классы нельзя, ибо ломает обратную совместимость. Т.е. модули должны предоставить больше инкапсуляции. maytonПока сборщики не понимают Java modules, складывается забавная ситуация. Есть maven-modules и Java-modules.Ну Maven умеет с модулями работать. Он автоматически создает модули из библиотек которые их не поддерживают и передает их в module-path. А все что для тестирования продолжает жить в class-path. Хотя насколько я понимаю зависимости все равно надо в двух местах описывать. Сначала в pom.xml, затем в module-info.java. Но соответственно не все зависимости там нужны будут, от транзитивных модулей мы зависеть не будем. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 13:15 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev, Скрывать методы/не пущать слишком мало чтобы взлетело ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 13:41 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov mad_nazgul Насколько я понял. Java-модули нужны только для создания компактных приложений. В самом начале книги, которую вы штудируете, объясняются цели и задачи создания модульной инфраструктуры. Ну и о проблемах и ограничениях тоже сказано. Ну как-то для меня не убедительно пишут. :-) Т.е. те же самые задачи раньше решались вроде бы не хуже. Лично я понял, что можно собрать только нужные модули, не пихая в приложение всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 13:45 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
mad_nazgul Т.е. те же самые задачи раньше решались вроде бы не хуже. Как быть, когда вы делаете библиотечный модуль, использовать который будут самые разные люди самой разной квалификации? При том, что "библиотечным" может стать любой пакет вашего собственного проекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 14:14 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
mad_nazgul Лично я понял, что можно собрать только нужные модули, не пихая в приложение всё. Модуляризация серьёзным образом развязывает руки разработчикам JRE/JDK, позволяя чётко отделить общедоступное API от деталей реализации, хотя технически эти детали реализованы публичными методами классов. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 14:19 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
Вот тут основные цели описаны. 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. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 14:24 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
mayton, И как там решены взаимозависимости? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 14:33 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
Опиши проблему в других словах. А то мне непонятно что такое взаимозависимости. Транзитивные что-ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 14:46 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
mayton, В твоей ссылке непонятен первый абзац. Что то бла бла рекламное ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 14:52 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, В твоей ссылке непонятен первый абзац. Что то бла бла рекламное А что тебе непонятно? Декларируешь что модуль А зависит от модуля B. И в скоуп компилляци больше ничего не попадает. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 15:13 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
mayton, Формат какой? По русски писать? На литературном? На матерном? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 15:38 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, мы падаем в какую-то профанацию. В девятке есть описательный механизм для зависимостей. Ты это хотел спросить. Мне кажется тема топика - более сложная и не про формат. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 15:52 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
mayton Декларируешь что модуль А зависит от модуля B. И в скоуп компилляци больше ничего не попадает. А вот во время исполнения JRE сможет обнаружить целый класс ошибок и неоднозначностей уже на этапе загрузки. А не "когда-нибудь потом в неожиданное время". ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 15:57 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
Да. Аналогичная ситуация у меня была с JavaSecurity Manager. Сколько ни продумывай на этапе разработки - в рантайме все равно стрельнет что-то неоднозначное. Причем даже отладка SecurityManager не дает внятного пояснения какой привилегии не хватате. Если выдать всем все - работает. А начнешь выдавать вручную - куча потоков упали. Тоже - тема пятничного топика. Есть у меня парочка приложений которые нив какую не хотят дружить с SecurityManager. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 16:39 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
mayton, Я понимаю тему буквально. Использовал ли ты модули и как описывал зависимости. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 16:45 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
Я использовал OSGI в реализации Apache Karaf. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 17:22 |
|
Использует ли кто-то Java Modules?
|
|||
---|---|---|---|
#18+
mayton, Ты же печалился что у сишников нет менеджера зависимостей. Дак его нет и в java именно для модулей. А у шарпистов есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 17:25 |
|
|
start [/forum/topic.php?fid=59&msg=40066845&tid=2120439]: |
0ms |
get settings: |
13ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
28ms |
get topic data: |
40ms |
get forum data: |
1ms |
get page messages: |
506ms |
get tp. blocked users: |
1ms |
others: | 6ms |
total: | 602ms |
0 / 0 |