Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Java 9 support in Eclipse
Jay Arthanareeswaran, Manoj Palat
IBM
Agenda
• Quick view of Java 9
• Impact on Eclipse
• Demo
• Open items
• What the future holds
Java 9
• Project Jigsaw
• Modular JDK (JEP 200)
• Module Platform source code (JEP 201)
• Modular Run-Time Images (JEP 220)
• Java Platform Module System (JSR 376)
• Unicode 7.0 and 8.0
• Project Coin (JEP 213)
• New Version-String Scheme (JEP 223)
• ...
Modular Run-Time Images
• No more JAR files!
• All in one big (+ couple more) Jimage (or)
• Individual JMOD files – one for each module
• No more boot.class.path or java.ext.dirs
• Brand new URI scheme
• Format of the archive probably will remain internal
• Java.nio based File system provider (jrt-fs)
• Works with JRE 8 and above
Modular Platform
Java Platform Modular System
• Modules offer
• Reliable configuration
• Strong encapsulation
• Sounds familiar?
Module-info.java
module my.mod {
exports p.q to your.mod;
exports p.q.r;
requires java.base;
requires java.sql;
}
Where does module fit in Eclipse?
Let's see what we've got!
Multiple modules in a project?
• More power to the user
• Demand for multiple classpaths within a project (bug 105372)
• Consistent between command line compiler and IDE
• Challenges
• Discoverability
• Won't work for bundles
• One bundle – one MANIFEST => one module
• Complicated set-up with multiple output locations
within project
Open design issues
• Definition of Module in Eclipse/JDT
• Discoverability of modules
• Redundant Project dependency?
• Cyclic dependencies
• Scope of non-compiler features
• Redundancy - MANIFEST and module-info
• Loading Extensions
What's left
• JSR 199 implementation (untested)
• Command line compiler
• -modulepath definition still being shaped
• Mixture of –modulepath and -classpath
• Code assist, Outline View, Module Editor etc.
• Unicode – 7.0 in, 8.0 not yet
• Coin project
• Support for JMOD creation, Jlink etc?
Resources
• Download feature patches
• Market place - Java 9 Support (BETA) for Neon (or)
• http://download.eclipse.org/eclipse/updates/4.6-Pbuilds
• Define module in Eclipse (bug 479483)