eclipse.org went with a mountain peaks as the website theme for the release of Oxygen. I like it; lower Oxygen concentration when hiking at that altitude. And unlike the neon lights, it wasn’t distracting.
The matrix comparing the packages is still clear. The Java version is a subset of the Java EE version. I chose the later since it has the JavaScript tools built in. This year the list of Eclipse packages has JRebel as the second choice (sponsored package) instead of Bluemix. I saw a Bluemix ad for running Eclipse in the cloud so IBM is still paying as well.
Installing
I like to download and install a fresh Eclipse so I don’t have random plugins I’ve tried throughout the year. An in place upgrade is an option from Neon to Oxygen though. (it wasn’t a choice from Mars to Neon because of an architectural change). Unlike Neon, it was just a drag to install rather than an installer. Which means I can have both Neon and Oxygen installed at the same time.
When opening my workspace with Oxygen, I got this error:
eclipse.buildId=4.7.0.I20170612-0950 java.version=9-ea java.vendor=Oracle Corporation BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US Framework arguments: -product org.eclipse.epp.package.jee.product -keyring /Users/nyjeanne/.eclipse_keyring Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.jee.product -keyring /Users/nyjeanne/.eclipse_keyring !ENTRY org.eclipse.osgi 4 0 2017-07-01 14:38:33.909 !MESSAGE Application error !STACK 1 org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
The cause was that I have Java 9 early access JDK on my machine. I tried adding these two lines to the
/Applications/Eclipse.app/Contents/Eclipse/eclipse.ini and then Eclipse launched cleanly.
-vm /Library/Java/JavaVirtualMachines/jdk1.8.0_xx.jdk/Contents/Home/bin
After installing plugins and restarting Eclipse, this config “got lost” and I had to make it again.
Installing the plugins
The significant plugins I chose to re-install are listed in this table. eGit, Buildship (for Gradle), m2e (Maven) and I think EclEmma were already installed without me doing anything.
Plugin | Purpose |
---|---|
Eclipse Tomcat Plugin | One click launch for recent versions of Tomcat. (This is the successor to Sysdeo and Mongrel)
Problem/resolution I got an error Unable to read repository at http://tomcatplugin.sf.net/update/content.xml. Received fatal alert: handshake_failure. I got hit by these known issues. I had to do a few things here:
|
EclEmma | Code coverage (I’m pretty sure this was already installed and I didn’t need to). I did need to close and re-open the Coverage view in my workspace.
9/3/17 – Confirmed it was already installed. I needed to install clean on a WIndows 10 box so saw it was on there. |
SonarLint | I installed SonarLint last year and quickly came to rely on it. It gives you static analysis findings in Eclipse. I also included the SonarLint Java Configuration Helper so it can see the version of Java I am using. (I”m on Java 8 right now so this is redundant at the moment. But I’m ready for when Java 9 comes out.) I stopped installing PMD and FindBugs. I’m using SonarLint instead. |
Subversive | To access Subversion repositories
Problem/Workaround Eclipse failed/closed the pop-up when I tried to install a connector. This happened regardless of whether I choose SvnKit or JavaHL I can reproduce the same problem in a clean workspace. There’s no message in the log from that attempt. Others have reported this issue online with the SVN connector, but no resolution yet. I tried installing Subclipse instead. That worked. I had to re-checkout the projects since they were associated through Subversive originally. |
Eclipse Memory Analyzer | For finding memory leaks. Unlike last year with Neon, it installed cleanly from Eclipse Marketplace. |
Freemarker IDE | Freemarker syntax highlighting and macro assistance.
Failed install Freemarker IDE from JBoss Tools 1.5 says it supports Oxygen. When downloading, I got the error No repository found at http://download.jboss.org/jbosstools/neon/snapshots/builds/jbosstools-freemarker_master/latest/all/repo. Last year, it was under the JBoss Tool Project. I couldn’t find that this year. Also, last year, I had to use the Mars version because it wasn’t ready on day 1. I tried opening a .ftl file. I got a popup asking if want to “Show IDE extensions for this file type and let me install them”. There were two choices. The Freemarker IDE 1.5 and RedHat JBoss Developer Studio which doesn’t look free. |
Pydev | Python plugin/perspective |
Contrast | To spot potential security issues. See my impressions of the Contrast plugin. |
Bytecode Outline | I’ve been looking at bytecode a good fit for the book to make sure I understand why things are happening. This plugin makes it easy. I first tried Bytecode Visualizer but install failed. (The website says there were 25 failed installs with the same dependency problem in the last 7 days). After installing Bytecode Outline, I realized this was the one I had installed for Luna anyway. |
Pitclipse | For mutation testing coverage |
Java 9
Since Java 9 comes out (in Sept) after the Eclipse train (in June), there is a page that describes what to do if you want Java 9 support in your IDE. I’m waiting for the official release. For now, I’m good with just using the command line for Java 9. Eclipse Oxygen is going to drop another official release on Java 9 release day with Java 9 support.
What excites me
- Sorting breakpoints by creation time is nice when debugging in a web app. I tend to forget about the breakpoints once something is working and then have to figure out which ones I want to keep. Since the answer is “the recent ones” this is nice.
- When switching workspaces from within Eclipse, there’s an option to copy your preferences. This is great as my previous scheme was copying the workspace and deleting all the projects. (to keep preferences)
- The default option to escape characters when pasting in a String. This isn’t a new feature, but I wasn’t aware of it.
- The option to skip an import on organize imports. This is great because now you can skip a class with a common name and get the import for later classes referenced that are in that package.
- The new button to see the JUnit stack trace in console view. I used to copy/paste it into a text editor and that is no longer necessary.
What I didn’t like
- That all my plugins didn’t work out of the box 🙁
Other interesting features
- Being able to open images directly in Eclipse is cool. So now you can see the size and image without leaving the IDE. It doesn’t show the height/width though so limited in value.
- The new row in the debugger with the return value of the last method called is cool.
- Not new to Eclipse Oxygen, but I learned about formatting line breaks.
Forgot to install Buildship for Gradle (went a few months without noticing which speaks to how often i used it) https://projects.eclipse.org/projects/tools.buildship