Ответ 1
Как уже написано в комментариях, Java 8 не будет поставляться с Jigsaw. Возможно, Java 9.
Кроме того, на JavaOne 2013 я присутствовал на разговоре Марка Рейнхольда, и это звучало так, что способ, которым движется Jigsaw, вообще не открыт для разработчиков Java, то есть Jigsaw будет использоваться JRE для модуляции JRE (read: rt. jar), но он не должен использоваться разработчиками Java. Одной из причин было то, что Jigsaw не должна конкурировать с существующими решениями, такими как Maven, OSGi и т.д. Еще одна причина заключалась в том, чтобы закрыть доступ к солнечным * внутренним пакетам.
Но я также слышал от кого-то, присутствовавшего в BOF позже в тот день, что был некоторый спрос со стороны сообщества на открытие Jigsaw для разработчиков Java, но я не слышал об этом никаких обновлений.
В любом случае OSGi должен отлично работать с Jigsaw. Но многие библиотеки будут разбиваться на Java 9, если они будут продолжать использовать старые пакеты sun. * Или другой внутренний JRE-код.
Обновить март 2015
В EclipseCon 2015 Марк Рейнхольд выступил с основным докладом с обновлением Java 9. Java 9 будет включать в себя модульную систему для Java. Он предназначен для JRE/JDK, а также доступен для любого приложения Java, которое хочет его использовать. Однако область изменилась немного.
Основные отличия (по состоянию на март 2015 года):
- Погрузчики классов - Jigsaw не будет использовать загрузчик классов; до работы (например, серверов приложений или OSGi) для работы с модулями и загрузчиками классов.
- Зависимости - Jigsaw позволит указать зависимость от модулей по имени, но не на уровне пакета
- Динамические службы. Модель обслуживания во время выполнения, предоставляемая OSGi, не будет предоставлена Jigsaw.
Jigsaw не предназначена для замены и/или конкурирования с какой-либо другой системой времени выполнения или времени сборки (например, OSGi или Maven). Фактически, это намерение Jigsaw быть совместимым (каким-то образом) с обоими.