JetBrains Adds Jigsaw Support

By John K. Waters

03/22/2017

Software development toolmaker JetBrains has added support for Jigsaw in the latest release of its popular IntelliJ IDEA IDE, the company announced this week.

Among other things, the new version, IntelliJ IDEA 2017.1, supports code completion in the module-info.java file, quick fixes for adding modules to a project, and overall help with the new module system.

The long awaited, much delayed modularization of the Java SE Platform and JDK is one of the biggest changes in the history of Java. JSR 376, the Java Specification Request that aims to define "an approachable yet scalable module system for the Java Platform" will bring a fundamentally new kind of programming component to Java. And Java toolmakers like JetBrains are making fundamental changes of their own to support a modularized Java 9.

JetBrains Developer Advocate Trisha Gee announced the new support on the company blog. In that post, Gee provides several examples to demonstrate the impact of modularity in Java, and how to work with it within the IntelliJ IDEA IDE.

"It's important to note that there are two systems of modularly here," Gee wrote. "Firstly, the IntelliJ IDEA modules that you're probably already familiar with; and secondly, the new Java 9 (Jigsaw) modules that are configured using module-info.java. To use Java 9 modularity, each Java 9 module needs to correspond to an IntelliJ IDEA module."

IntelliJ IDEA already employs the modules concept in the IDE; each IntelliJ IDEA module builds its own classpath. "With the introduction of the new Java platform module system, IntelliJ IDEA modules had to extend their capability by supporting the Java platform's module-path if it is used instead of [our] classpath," the company explained on its new tutorial. "IntelliJ IDEA assists in creating and using Java Platform modules and how these modules work with IntelliJ IDEA modules."

It's a testament to the complexity of the Jigsaw Project that Chief Architect of Oracle's Java Platform Group, Mark Reinhold, asked for so many extensions of the Java 9 release schedule because of it. And he appears to have had companies like JetBrains in mind when he asked for more time.

"[We] want to ensure that the maintainers of the essential build tools and IDEs have adequate time to design and implement good support for modular development," he wrote in a December 2015 post on the OpenJDK mailing list.

John has been covering the high-tech beat from Silicon Valley and the San Francisco Bay Area for nearly two decades. He serves as Editor-at-Large for Application Development Trends (www.ADTMag.com) and contributes regularly to Redmond Magazine, The Technology Horizons in Education Journal, and Campus Technology. He is the author of more than a dozen books, including The Everything Guide to Social Media; The Everything Computer Book; Blobitecture: Waveform Architecture and Digital Design; John Chambers and the Cisco Way; and Diablo: The Official Strategy Guide.