2016年3月25日、Java SEのチーフアーキテクトであるMark Reinhold氏がblogで次のように述べました。

 "The last major component, the module system itself (JSR 376 and JEP 261), was integrated into JDK 9 earlier this week and is now available for testing in early-access build 111."

 "最後のメジャーなコンポーネント、つまりモジュールシステムそれ自体(JSR 376とJEP 261)が今週はじめにJDK 9に統合されました。アーリーアクセスのbuild 111からテスト用に使用できます。"

 (Project Jigsaw: The module systemより引用。訳は筆者)

 ここでモジュールシステムと書かれているのが、今回から紹介しようとしているProject Jigsawのことです。

 JSRと書かれているのは、Javaの標準を策定するJCPにおける仕様の番号(Java Specification Request)です。JSR 376がProject JigsawのJSRになります。正式名称はJSR 376 Java Platform Module Systemです。

 もう一方のJEPというのは、OpenJDKにおける拡張提案(JDK Enhancement Proposals)になります。JEPは、JSRに比べると細かな拡張となることが多いです。Project Jigsawは6のJEPから成りますが、JEP 261 Module SystemがProject Jigsawの中心となります。

 これまでProject JigsawはOpenJDKのProject Jigsaw内で開発が進められていましたが、3月25日の週にこれらがJDK 9に統合されたのです。JDK 9は毎週ビルドを公開しており、3月25日に公開されたbuild 111からProject Jigsawが統合されています。毎週公開されるビルドはアーリーアクセスとしてjava.netからダウンロードできます。

 つまり、Project Jigsawが試しやすくなったというわけです。

 そこで、今回からJava SE 9の先取りとして、Project Jigsawを紹介していきます。まず、Project Jigsawの経緯や、その目的について説明します。

 なお、Java SE 9はまだ仕様が確定していないため、今後変更の可能性もあります。その点はご了承ください。