Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Использует ли кто-то Java Modules? / 25 сообщений из 63, страница 1 из 3
28.04.2021, 00:30
    #40066525
Использует ли кто-то Java Modules?
Недавно таки решил попробовать перейти. И сразу обломался, потому как есть много зависимостей которые их не объявляют. И их не заставить работать если есть две библиотеки с одинаковыми пакетами.

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

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


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


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

Stanislav Bashkyrtsev

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


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

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


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

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

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

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


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

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
28.04.2021, 14:33
    #40066747
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использует ли кто-то Java Modules?
mayton,
И как там решены взаимозависимости?
...
Рейтинг: 0 / 0
28.04.2021, 14:46
    #40066750
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использует ли кто-то Java Modules?
Опиши проблему в других словах. А то мне непонятно что такое взаимозависимости. Транзитивные что-ли?
...
Рейтинг: 0 / 0
28.04.2021, 14:52
    #40066751
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использует ли кто-то Java Modules?
mayton,
В твоей ссылке непонятен первый абзац.
Что то бла бла рекламное
...
Рейтинг: 0 / 0
28.04.2021, 15:13
    #40066762
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использует ли кто-то Java Modules?
PetroNotC Sharp
mayton,
В твоей ссылке непонятен первый абзац.
Что то бла бла рекламное

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

Формат какой? По русски писать? На литературном? На матерном?
...
Рейтинг: 0 / 0
28.04.2021, 15:52
    #40066786
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использует ли кто-то Java Modules?
PetroNotC Sharp, мы падаем в какую-то профанацию. В девятке есть описательный механизм для зависимостей.
Ты это хотел спросить. Мне кажется тема топика - более сложная и не про формат.
...
Рейтинг: 0 / 0
28.04.2021, 15:57
    #40066789
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использует ли кто-то Java Modules?
mayton
Декларируешь что модуль А зависит от модуля B. И в скоуп компилляци больше ничего не попадает.
Компиляция - немного особняком.
А вот во время исполнения JRE сможет обнаружить целый класс ошибок и неоднозначностей уже на этапе загрузки. А не "когда-нибудь потом в неожиданное время".
...
Рейтинг: 0 / 0
28.04.2021, 16:39
    #40066810
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использует ли кто-то Java Modules?
Да. Аналогичная ситуация у меня была с JavaSecurity Manager. Сколько ни продумывай на этапе разработки - в рантайме
все равно стрельнет что-то неоднозначное. Причем даже отладка SecurityManager не дает внятного пояснения какой привилегии
не хватате. Если выдать всем все - работает. А начнешь выдавать вручную - куча потоков упали. Тоже - тема пятничного топика.
Есть у меня парочка приложений которые нив какую не хотят дружить с SecurityManager.
...
Рейтинг: 0 / 0
28.04.2021, 16:45
    #40066815
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использует ли кто-то Java Modules?
mayton,
Я понимаю тему буквально.
Использовал ли ты модули и как описывал зависимости.
...
Рейтинг: 0 / 0
28.04.2021, 17:22
    #40066836
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использует ли кто-то Java Modules?
Я использовал OSGI в реализации Apache Karaf.
...
Рейтинг: 0 / 0
28.04.2021, 17:25
    #40066838
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использует ли кто-то Java Modules?
mayton,
Ты же печалился что у сишников нет менеджера зависимостей.
Дак его нет и в java именно для модулей.
А у шарпистов есть.
...
Рейтинг: 0 / 0
28.04.2021, 17:34
    #40066845
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использует ли кто-то Java Modules?
Сишники это особая порода людей. У них даже если такой менеджер появится - его будет очень
долго игнорировать.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Использует ли кто-то Java Modules? / 25 сообщений из 63, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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