Ian is an Eclipse committer and EclipseSource Distinguished Engineer with a passion for developer productivity.
He leads the J2V8 project and has served on several …
There is less than 1 week to the Eclipse Juno release and I’ve been busy counting down The Top 10 Juno Features that I’m most excited about. Over the past 10 years Eclipse has been classified as many different things, a tools platform, a Run-time Platform and an ALM enabler. However, throughout the past decade one thing has remained constant: Eclipse is a state-of-the-art Java Development Environment. Number 5 on my Juno Top 10 List is the enhancements to the Eclipse Java Development Tools.
In September, the JDT team graduated the Java 7 tool support in Eclipse. This was not part of Indigo since Java 7 was not officially available at that time (although it was provided as a plugin for Indigo). A number of exciting (and useful) tools were added to the JDT including:
Tool support for the diamond operator:
Multi-Catch tool support:
Support for Java constructs in the evaluation engine (for example, you can switch on a string in the debugger breakpoint conditions):
And of course, the Java tools and EJC compiler, understand the try-with-resource syntax, switch on strings and all the other Java 7 features.
Since the Java 7 work was completed last summer, the team didn’t simple rest on their laurels. Instead, they pushed forward with a whole host of new features for Juno. One of the features that I’m really excited about is the improved static analysis. For example, the JDT can now detect potential resource leaks:
Annotation-based null analysis, which allows you to define preconditions about the nullness of an object and the Annotation processor can assist you with potential problems, was also introduced. For example, if I declare that an Object will never be null, the annotation processor will highlight cases when this assertion is not true:
And warnings are available when a switch statement lacks cases:
With all these changes, the JDT continues to lead the way for quality Java tooling. This work couldn’t be done with without a dedicated team, and lucky for us, that’s what we have. Lead by Dani Megert, Markus Keller and Srikanth Sankaran the team of Michael Rennie, Olivier Thomann, Deepak Azad, Ayushman Jain, Jayaprakash Arthanareeswaran, Stephan Herrmann, and Satyam Kandula are nothing short of rock stars! Thank-you so much for 10 great years of excellent Java tools.
For more Eclipse Tips and Tricks (and the annual Top 10 List), why not follow me on twitter:
Ian is an Eclipse committer and EclipseSource Distinguished Engineer with a passion for developer productivity.
He leads the J2V8 project and has served on several …