Java 15 support in Eclipse

It used to be hit or miss and usually some delay before the latest Java version would get full new language feature support in the latest version of Eclipse. With these new Java version plugins from the Marketplace though, adding support is now as easy as installing the plugin:

The Eclipse team has been doing a great job with these plugins for latest language support.

Eclipse Oxygen with Atlassian Connector plugin for accessing Jira issues

I’ve been kicking the tires in my local dev setup running my own Jira and GitLab installations. I’ve been meaning to take a look at how to access Jira tickets from within Eclipse, and then the next logical step is to look at the Jira to GitLab integration.

First up, let’s look at accessing Jira tickets in Eclipse. Docs on the Atlassian Connector are here: https://confluence.atlassian.com/ideplugin/atlassian-connector-for-eclipse. The installation guide gives an Eclipse Update Sites for Eclipse version up to Luna but not more recent versions (Mars, Neon, Oxygen), but questions online (e.g. here) suggest the Luna version still installs and works with Oxygen (using update site: http://update.atlassian.com/atlassian-eclipse-plugin/rest/e3.7)

Integration within Eclipse is using Mylyn. After installing the plugin by adding the update site above, open the Mylyn/Task Repository view:

and select the Jira option:

Press Next and enter the URL for your Jira server:

When prompted to create a new Query, select Yes – this is what retrieves your assigned tasks from Jira:

Press Next for the next dialog. There’s a lot of options here (continues below the area in this screenshot), but in this case I’m interested just in the issues logged for my Blackjack Twitterbot project, so I selected this specific project:

In my Task List view I can now see a list of my assigned tasks, open and competed:

Double-clicking any of these opens the ticket in Eclipse:

This is pretty typical of any issue ticket tracking support in Eclipse. At this point I can edit and update the tickets.

Next up, I’ll look at Jira and GitHub integration.

 

Update: Java 10 with Eclipse Oxygen 3a (4.7.3a RC2) – working!

Following up on responses to my tweet and post yesterday, here’s a summary of the suggestions to get Java 10 support working with Eclipse 4.7.3a RC1:

  1. Download the 4.7.3a RC1 build. Yesterday I had tried the 4.7.3a M20180322-1835 build as stated on the previously available Java 10 support plugin:

but the recommendation from Noopur Gupta was to download the 4.7.3a RC1 release which looks like it’s after the M20180322 release, and this apparently has specific support for the new var keyword:

2. Ensure have the latest Maven m2e plugin for Maven support is installed:

3. Configure Maven pom.xml with the maven-compiler-plugin v3.7.0 and set the source and target versions to 10. Instead of setting the source and compile version in properties like this:

  <properties>
    <maven.compiler.source>10</maven.compiler.source>
    <maven.compiler.target>10</maven.compiler.target>
  </properties>

This tweet shows setting the 10 value as a <release> property:

So replacing the source and target properties that I normally use, and using this:

  <build>
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
         <version>3.7.0</version>
         <configuration>
         <release>10</release>
         </configuration>
       </plugin>
     </plugins>
  </build>

Now doing a Maven Update on my project, and what do you know, now it’s switched to Java 10:

And here it it, the var keyword in all it’s glory:

Thanks for everyone’s tips and suggestions to get this working!

Taking a look at Java 10 with Eclipse Oxygen.3 (with not much success)

Java 10 was released on 3/20/18 and can be downloaded from the Oracle JDK download site here. After installing on my Mac it shows both the yy.mm (18.3) version names and the “version 10”:

With each new JDK release it always seems there’s a slight lag before the IDEs catch up, but Eclipse has Java 10 support in the latest 4.7.3a release. I currently have the Oxygen.2 release (4.7.2):

… so I started an update to pick up the latest.

From Eclipse Marketplace the previous Java 10 support plugin is no longer needed if you have the latest Eclipse 4.7.3a release:

Updating my Eclipse to 4.7.3 however didn’t get me the ‘a’ release, so following the link in the Marketplace item above gives you a number of download options, or update sites to pick up the development build features (the page says this is version ‘Eclipse 4.7.3a Maintenance Build: M20180322-1835’)

I added the update site and selected all available updates and tried another update. After a restart when prompted I’ve now got version 4.7.3, but it’s not clear id this is the ‘a’ update or not:

Here’s a good summary of the major changes in Java 10. The feature I find most interesting is the addition of the var keyword for inferred local variable types.

Adding the Java 10 JDK location as a new JRE in Eclipse:

It gets recognized ok, but with a Maven pom.xml based project, the Maven Compiler plugin doesn’t seem to recognize either a compiler version of 1.10, 10, or 18.3, the project is still kept at the default of 1.5:

From the project preferences though, it is possible to add a JRE System Library for the JDK 10:

Trying out a snippet of code using the ‘var’ keyword, it’s not looking good so far:

Let’s go back to the Marketplace and see if we can install the Java 10 plugin anyway – even though it says it’s disabled, it looks like you can install it:

Well this is not good, but looks like we have an invalid update site, which we can probably remove:

Here it is, we can uncheck this one:

Unchecking it or removing it though doesn’t make the error go away, so no luck installing the plugin.

At this point it might be best to download one of the prebuild milestone builds from the 4.7.3a download page. Let’s try that next.

Ok, milestone build downloaded, and now we’ve definitely got the 4.7.3a build:

Interesting, this build doesn’t have any of the regular Eclipse JDT tools, so you have to install though from ‘Install Software’.

After installing the JDT plugin though, looks like I’ve still got the same issue with the var keyword not being recognized, despite selecting the Java 10 JRE as the platform default.

At this point doing some more searching around, I don’t think the var keyword support is included until Eclipse 4.8, see here: https://wiki.eclipse.org/JDT_Core/Plan/4.8/JEP286

Looks like we’ll have to wait for that Eclipse Photon 4.8 release to get into these new Java 10 features, which is not coming until June. At that point given that the new Java releases are coming every 6 month, we’ll already be over halfway to the Java 11 release.