IntelliJ IDEA 2017.3 EAP: Grouping modules according to their qualified names and more
Great news! The fresh IntelliJ IDEA 2017.3 EAP build is out! In this EAP build you will find notable features and very important bugfixes.
Last week Java 9 was released, and it brings the module concept to the Java platform – the project known as Jigsaw. Project Jigsaw aims to make it easier for developers to build and maintain large applications. The new concept encourages you to modularize your application. IntelliJ IDEA 2017.3 provides different features to support Java 9. You can learn more about Java 9 support in IntelliJ IDEA in this blogpost.
And with this new EAP, we expand the support for this with the new method of module organization – grouping modules according to their qualified names.
Up until now the IDE only offered one way to organize modules – module groups. There are several problems with such an approach. First of all, module names should be unique, over all the modules in a project. Also if you want to use the same module in different projects, you need to specify the module group for this module, in each project, because a module groups configuration stored in the project configuration, not *.iml files.
In this new EAP, IntelliJ IDEA can also use qualified names to organize modules. In the IntelliJ IDEA 2017.3 EAP build, grouping by qualified module names will be enabled by default if there are no module groups configured in your current project.
If the Flatten Module option is off, modules are shown as a hierarchy. If the Flatten Module option is on, modules appear at the same level.
Full release notes are available here.
We are currently working to enhance our support for Java EE 8 and CDI 2.0. Check out the new features in this EAP:
- Support for async events.
- Support for dynamic beans (CDI extensions).
- Navigation from disposer methods to their producers.
- New inspection: disposer methods without corresponding producers.
- Support for implicit archives (without beans.xml).
- Support for new built-in classes: RequestContextController and InterceptionFactory.
More details are coming soon in a separate blog post. Stay tuned!