Project Jigsaw, which is intended to provide a module system for Java, has been deferred from the Java SE (Standard Edition) 8 release planned for next year until Java SE 9, which is due in 2015, a high-ranking Oracle executive revealed on Tuesday.
In announcing the deferment, Mark Reinhold, chief architect of the Java platform group at Oracle, cited insufficient time and technical issues. "The proposed development schedule for Java 8 expects work on major features to be finished by May 2013 in preparation for a final release around September," Reinhold said in a blog post. "Steady progress is being made, but some significant technical challenges remain. There is, more importantly, not enough time left for the broad evaluation, review, and feedback which such a profound change to the platform demands."
[ Think you know Java? Test your programming smarts in InfoWorld's Java IQ test. | Inclusion of Jigsaw in Java has raised concerns about possible conflicts with the OSGi dynamic module system. | Meanwhile, Oracle keeps hopes alive for JavaFX and for Java on iOS. | Subscribe to InfoWorld's Enterprise Java newsletter for the latest on Java. ]
"I therefore propose to defer Project Jigsaw to the next release, Java 9," Reinhold concluded, adding that he aims for regular two-year release cycles of Java going forward. Jigsaw previously had been proposed for inclusion in Java SE 7, which was released last summer. But it was pulled in 2010 to enable shipment of Java SE 7 by last year.
There have been several challenges, including modularizing Java SE and the JDK (Java Development Kit) while maintaining compatibility for existing code, Reinhold said. "We have, moreover, yet to design and prototype an approach to supporting containers such as IDEs, Java EE application servers, and applet containers, all of which require some amount of reflective dynamism. We're reasonably confident that we can work through these issues, but doing so will most likely take us past May 2013."
Reinhold cited benefits of the module system, which is intended to ease construction, maintenance, and distribution of large applications and allow developers to the escape the "JAR hell" of Java archive files, Reinhold said. JAR files have provided a "brittle and error-prone class-path mechanism," he said.
"[Modular Java] will change the way that the Java platform itself is deployed, and it will change the way that developers build and deploy libraries, frameworks, tools, and applications," said Reinhold.
Modular Java also will enable convergence among Java editions, Reinhold said. "A truly modular Java platform will support customizable configurations that scale from large servers down to small embedded devices and, in the long term, enable the convergence of Java SE with the higher-end Java ME Platforms. Modular applications built on top of a modular platform can be downloaded more quickly, and the run-time performance of the code they contain can be optimized more effectively."