Java 9 наконец-то разберется с зависимостями

У Java-разработчиков официально есть год, чтобы подготовить свой код к выходу Java SE Development Kit 9, привносящего в Java модульность.

Модуляризация Java — это главное нововведение, которые принесет очередная версия платформы. Впрочем, до ее релиза еще год, как объявил на этой неделе один из работников Oracle. Сам принцип модульности основывается на старом проекте Jigsaw — он был предназначен, чтобы помочь улучшить масштабируемость и общую производительность Java.

По словам Алекса Бакли, «Лозунг JDK 8 — функциональность, лозунгом же JDK 9 будет транзитивность. Приход JDK наконец-то обеспечит зависимости между разными модулями. Также он попытается разрешить некоторые переходные зависимости во время компиляции или работы программы». Модули влияют на все фазы развития ПО: сборка, тестирование, упаковка, развертывание, выполнение. Таким образом, они гораздо теснее связаны с инструментами экосистемы, чем те же лямбды.

Модульная система концептуально проста, но в JDK 9 есть изменения, которые, вероятно, могут сломать в вашем коде некоторые зависимости. Например, пакет sun.misc в девятом релизе значительно «похудел».

Общая модуляризация Java в прошлом несколько раз отменялась. Она уже планировалась в Java 8, но была исключена из этого выпуска. Затем еще на несколько месяцев задержался выпуск Java 9, в результате релиз был перенесен на март 2017 года. Сейчас же некоторые бинарники JDK 9 уже выложены в ранний доступ.

Источник: InfoWorld