Коли використовувати затінені JAR?
Затінення — це процес, у якому залежність переміщується в інший пакет Java і копіюється в той самий JAR-файл, що й код, який покладається на цю залежність. Основне призначення затінення полягає в тому щоб уникнути конфліктів між версіями залежностей, що використовуються бібліотекою, і версіями, які використовуються споживачами цієї бібліотеки.
Той самий плагін можна використовувати для переміщення конфліктуючих пакетів залежностей у цьому Uber JAR, щоб запобігти конфлікту їхніх імен шляхів із тими, які ADB передає в шлях до класу. Отриманий JAR після застосування переміщення до Uber JAR називається Shaded JAR.
Плагін Maven Shade можна використовувати для створення власної бібліотеки конекторів. jar у комплекті з усіма залежностями класів бібліотеки, які гарантує, що його залежності класу бібліотеки не стикаються/конфліктують під час виконання з іншими версіями будь-яких бібліотек, які вже використовуються в Mule.
У Java «затіняти» залежність означає щоб включити всі його класи та класи з його транзитивних залежностей у ваш проект, часто перейменовуючи пакунки та переписуючи весь уражений байт-код.
Затінення залежності полягає у взятті її вмісту (файлів ресурсів і файлів класів Java) і перейменуванні деяких пакетів перед тим, як помістити їх у той самий файл JAR, що й низькорівневий клієнт Java REST. Затінення JAR можна виконати за допомогою сторонніх плагінів для Gradle і Maven.
Затінення — це процес, у якому залежність переміщується в інший пакет Java і копіюється в той самий JAR-файл, що й код, який покладається на цю залежність. Основне призначення затінення полягає в тому щоб уникнути конфліктів між версіями залежностей, що використовуються бібліотекою, і версіями, які використовуються споживачами цієї бібліотеки.