Долго откладываемая Java 9 не будет выпущена в июле. Последняя задержка заключается в том, чтобы дать Группе экспертов Java время, чтобы вернуть проект Jigsaw в строй.
Последнее предложение заключается в том, что Java 9 Standard Edition будет выпущена 21 сентября. По словам Марка Рейнхольда из Oracle, задержка необходима для того, чтобы учесть дополнительное время, необходимое Исполнительному комитету JCP (EC) для решения своих проблем, связанных с включением системы модулей платформы Java. Вы можете подумать, что, учитывая, как долго задерживалась Java 9, они бы уже все разобрали, но, по-видимому, нет.
Как мы объяснили в мае, Исполнительный комитет JCP отклонил включение проектной головоломки и, следовательно, модулей как слишком разрушительное для разработчиков. Основные избиратели против включения (Red Hat и IBM) либо имеют, либо поддерживают альтернативные модульные системы.
Объясняя свое решение проголосовать против включения, RedHat заявила в открытом письме, что:
Реализация Jigsaw-это новая модульная система, которая успешно работает для модуляции самой Java, но в значительной степени не опробована в более широких производственных развертываниях любых реальных приложений поверх JVM. Многие варианты использования развертывания приложений, которые широко реализуются сегодня, невозможны в рамках Jigsaw или потребуют значительного изменения архитектуры.
Проект Jigsaw, связанный с созданием модульной Java, первоначально планировался как часть Java 7, но был перенесен на Java 8, а затем в 2012 году он был снова отброшен до Java 9. Jigsaw нацелен на то, чтобы его мог использовать средний программист Java, а не только специалист. Он также предназначен для использования самим JDK, что делает Java модульной изнутри.
После голосования против включения Jigsaw группа экспертов, по-видимому, «пришла к соглашению» относительно проблем модульности.
Написав о текущей ситуации в списке рассылки OpenJDK, Марк Рейнхольд сказал, что голосование не означало, что Jigsaw был удален. Вместо:
«Это означает только то, что ЕК подняла ряд вопросов, которые она хотела бы обсудить с Группой экспертов JSR 376 (EG).»
После ряда конференц-звонков за последние недели был сделан вывод о том, что спецификация алгоритма разрешения модульной системы должна быть «уточнена», и в API модульной системы был добавлен один пятистрочный метод. Рейнхольд говорит, что эти изменения:
«вместе с дополнительными разъяснениями к спецификациям JSR 376 и JSR 379 (Java SE 9), мы надеемся, решим проблемы ЕС.»
Однако до тех пор, пока эти уточнения и изменения не будут завершены, фактическая окончательная дата не ясна, поэтому Рейнхольд предложил, чтобы эта работа продолжалась, чтобы создать первоначальную сборку кандидата на выпуск 22 июня, но чтобы группы скорректировали:
«дата GA для того, чтобы учесть дополнительное время, необходимое для прохождения процесса JCP. Если быть точным, я предлагаю перенести дату проведения ГА на восемь недель, с 27 июля на 21 сентября.»
Это будет последний раз, когда вы читаете о задержке Java 9? Надеюсь, но кто знает.