Channels ▼

JVM Languages

Oracle Reignites Jigsaw Java Modularization

Oracle has recently undertaken an extended series of work sessions designed to focus on Jigsaw, the Java module system. The Jigsaw system's goal is to build a standard module system for the Java SE Platform. It also seeks to implement and apply that system to the platform itself and to the JDK.

Although Oracle has stated that this project has been (and still is) in an exploratory phase (which has lasted four years so far), the firm says that its in-progress requirements document has always been intended to be among the starting points of an eventual Java Platform Module System JSR.

Oracle's Mark Reinhold (who is chief architect) says the team is exploring a simplified approach to achieving the goals of the Jigsaw project.

"Among other things, we're going to see whether we can get away without introducing a distinct 'module mode' as we have in the current prototype (which is incompatible, in some narrow yet deep ways, with long-standing behavior) and without doing dependence resolution (since build tools like Maven, Ivy, and Gradle already do that well enough)," said Reinhold.

Project Jigsaw was hoped to be a major feature of Java 7; it is currently in deferred status intended to hit Java 9.

Reinhold explains that his team is open to taking code from the old project where it "makes sense", but it will also take the opportunity to question earlier design decisions during the clean up.

Reinhold finishes, "I urge onlookers to remember that this is just another prototype. It is likely to evolve swiftly. Its shape and content at any given point in time should not be treated as having any particular bearing on the final result of this project."

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.